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则调用该方法)
本文详细介绍了Spring框架中Bean从创建到销毁的整个生命周期过程,包括Bean的实例化、依赖注入、初始化、生命周期回调方法及销毁等关键步骤。

8948

被折叠的 条评论
为什么被折叠?



