Spring Bean 的生命周期
2020-10-22 16:42:25 0 举报
Spring 中 Bean 的生命周期
作者其他创作
大纲/内容
开始
BeanNameAware 中的setBeanName()
执行 xml、@Bean 中定义的 destroy-method
初始化之后
postProcessAfterInstantiation
扫描 @WebServiceRef、@EJB、@Reource 字段
determineCandidateConstructors
执行自定义初始化方法
实例化
执行自定义销毁方法
InitializingBean 的 afterPropertiesSet()
结束
BeanFactoryAware中的setBeanFactory()
postProcessMergedBeanDefinition
初始化
使用
创建代理对象,Spring 默认是在这里创建代理对象
postProcessBeforeInitialization
创建成功
xml 或者 @Bean 中定义的init-method
执行应用上下文相关的 Aware 方法
扫描@Autowired、@Value、@Inject 字段
实例化之前
getEarlyBeanReference
postProcessBeforeDestruction
销毁
解决依赖循环
执行各种 Aware 方法,与上面的 Aware 方法不同
可以创建代理对象
执行 DisposableBean 的 destory()
postProcessProperties
执行 @PostConstruct 方法
postProcessBeforeInstantiation
依赖注入
BeanClassLoaderAware 中的setBeanClassLoader()
postProcessAfterInitialization
选择合适的构造函数
扫描@PostConstruct、@PreDestory方法
执行 @PreDestory 方法
实例化之后,初始化之前
在注入字段之前,有机会修改 Bean 的状态,比如:可以修改依赖注入的方式
收藏
收藏
0 条评论
下一页