Spring Bean 生命周期
特别说明
当前文章内容迁移中,如有问题,请提交 issues 谢谢 ~~
Spring Bean
- 实例化
- 属性赋值
- 初始化
使用中 - 销毁
实例化
属性赋值
初始化
1. Aware 相关接口检查,并设置对应的依赖
Aware 主要是让 对应的 Bean 拥有 Spring 容器的功能。
2. BeanPostProcessor
3. 查看是否实现了 InitializingBean
4. 查看是否配置了 init-method
5. BeanPostProcessor
##InitializingBean
初始化 bean 时,调用一次,后续不会再调用。
Spring为bean提供了两种初始化bean的方式,实现InitializingBean接口,实现afterPropertiesSet方法,或者在配置文件中通过init-method指定,两种方式可以同时使用。
实现InitializingBean接口是直接调用afterPropertiesSet方法,比通过反射调用init-method指定的方法效率要高一点,但是init-method方式消除了对spring的依赖。
如果调用afterPropertiesSet方法时出错,则不调用init-method指定的方法。