bean在spring中的生命周期和作用(spring中bean的生命周期)
bean在spring中的生命周期和作用(spring中bean的生命周期)如果bean实现BeanPostProcessor接口,则会调用postProcessAfterInitialization方法
初始化阶段- 实例化Bean
- 注入bean属性
- 如果bean有实现aware接口则进行相应的aware注入
如果实现BeanNameAware接口,则调用setBeanName方法
如果实现BeanClassLoaderAware,则调用setBeanClassLoader方法
如果实现ApplicationContextAware,则调用setApplicationContext方法
- 执行BeanPostProcessor的前置处理器
如果bean实现BeanPostProcessor接口,则会调用postProcessBeforeInitialization方法
- 若bean实现了InitializingBean接口,则调用afterPropertiesSet方法
- 若bean定义了init-method熟悉,则调用对应方法
如果bean实现BeanPostProcessor接口,则会调用postProcessAfterInitialization方法
使用阶段销毁阶段- 若在bean中定义了destroy熟悉,则调用对应方法
- 若实现DisposableBean接口,则调用destroy方法