Spring Bean的生命周期及预处理
程序员文章站
2022-07-14 10:27:20
...
生命周期
spring中bean生命周期的四个阶段:
1. 实例化 Instantiation
2. 属性赋值 Populate
3. 初始化 Initialization
4. 销毁 Destruction
各个阶段的工作:
1. 实例化,创建一个Bean对象
2. 填充属性,为属性赋值
3. 初始化
○ 如果实现了xxxAware接口,通过不同类型的Aware接口拿到Spring容器的资源
○ 如果实现了BeanPostProcessor接口,则会回调该接口的postProcessBeforeInitialzation和postProcessAfterInitialization方法
○ 如果配置了init-method方法,则会执行init-method配置的方法
5. 销毁
6.
○ 容器关闭后,如果Bean实现了DisposableBean接口,则会回调该接口的destroy方法
○ 如果配置了destroy-method方法,则会执行destroy-method配置的方法
类加载前预处理
方法一:实现InitializingBean
@Component
public class TestInitBean implements InitializingBean {
@Override
public void afterPropertiesSet() throws Exception {
System.out.println("测试预加载");
}
}
方法二:注解@PostConstruct
@Component
public class ProcessBeanTest {
@PostConstruct
public void init(){
System.out.println("预加载");
}
}
类销毁前预处理
注解@PreDestroy
@Component
public class ProcessBeanTest {
@PostConstruct
public void init(){
System.out.println("预加载");
}
@PreDestroy
public void destory(){
System.out.println("类要销毁啦");
}
}