Spring bean生命周期
文章目录
Spring生命周期图
个人大白话理解
创建类: 当需要实例化的时候,首先给类创建地址,填充属性->给bean设置名称->设置BeanFactory(调用BeanFactoryAware),以及ApplicationContext(上下文,调用ApplicationContextAware)->增强器BeanPostProcess(环绕类的初始化)->InitalizingBean(主要实现afterPropertiesSet方法,顾名思义在参数填充之后调用)->调用类初始化方法。
销毁类: 调用DisposableBean方法的destory方法
相关注解
InitializingBean
如下面显示InitalizingBean是在BeanFactory初始化bean的时候回调。
PostConstruct
@PostConstruct跟InitalizingBean一样在初始化的时候进行回调。
总结: 上面两个常用于初始化类的相关自定义属性(业务开发上)
但是InitalizingBean不能初始化static静态属性比较可惜。
*Aware
实现ApplicationContextAware ,调用setApplicationContext来获得上下文对象,像策略模式,获得相关接口的实现类。
BeanPostProcessor
实现BeanPostProcessor ,在类初始化前后干点什么,西西~
DisposableBean
实现DisposableBean ,在销毁类的时候进行调用destory方法