1. BeanPostProcessor
— Do something before of after each bean is instantialized
2. BeanFactoryPostProcessors
–Potentially change the bean’s configuration metadata before the container has instaniated any other beans.
3. FactoryBean — A factory that will create beans by implementing getObject()