0.实例化对象前调用扩展了BeanFactoryPostProcessor接口的postProcessBeanFactory方法
1.调用BeanNameAware:setBeanName(让Bean获取自己在BeanFactory配置中的名字,通常更好配置Log)
2.调用BeanFactoryAware:setBeanFactory(让Bean获取配置他们的BeanFactory的引用)
3.调用ApplicationContextAware:setApplicationContext(让Bean获取配置他们的applicationContext的引用)
4.调用BeanPostProcessor:postProcessBeforeInitialization除了自己本身,每个注册bean都传入bean和beanName调用一次
5.调用InitializingBean:afterPropertiesSet(初始化该bean)(如果Bean配置有init属性,那么调用它属性中设置的方法)
6.BeanPostProcessor:postProcessAfterInitialization除了自己本身,每个注册bean都传入bean和beanName调用一次
7.如果扩展了SmartLifecycle接口则调用start()方法
8.Bean结束后调用DisposableBean接口的destory方法(如果Bean配置了destory则调用该方法)
1.调用BeanNameAware:setBeanName(让Bean获取自己在BeanFactory配置中的名字,通常更好配置Log)
2.调用BeanFactoryAware:setBeanFactory(让Bean获取配置他们的BeanFactory的引用)
3.调用ApplicationContextAware:setApplicationContext(让Bean获取配置他们的applicationContext的引用)
4.调用BeanPostProcessor:postProcessBeforeInitialization除了自己本身,每个注册bean都传入bean和beanName调用一次
5.调用InitializingBean:afterPropertiesSet(初始化该bean)(如果Bean配置有init属性,那么调用它属性中设置的方法)
6.BeanPostProcessor:postProcessAfterInitialization除了自己本身,每个注册bean都传入bean和beanName调用一次
7.如果扩展了SmartLifecycle接口则调用start()方法
8.Bean结束后调用DisposableBean接口的destory方法(如果Bean配置了destory则调用该方法)