生命周期回调(Lifecycle Callbacks)
简单说一下,生命周期:就是一个 Bean 从产生到消亡的过程,整个过程就叫做整个 Bean 的生命周期,生命周期回调:就是在几个重要的节点,通知你,它进行到了那一步,比如,Bean 产生了,它就会通知你,“嘿,我已经产生了,你是不是要给我送点啥?”,Bean 消亡了,它也会提前一步通知你,“喂,我快挂啦,你是不是要帮我准备准备后事…”
本文会说明 Bean 的生命周期回调 以及 容器的生命周期回调
一、对 Bean 的生命周期回调
- 初始化回调(Initialization Callbacks)
对 Bean 的初始化回调方式总共有三种方式
- 在方法上使用 @PostConstruct 注解,来标志这是一个初始化回调方法
- 我们可以认为构造函数 Construct 标志着整个函数被创建,而 @PostConstruct 注解的方法,就是创建后,它的回调方法
@Component
public class MyService {
public MyService() {
System.out.println("bean init");
}
@PostConstruct
public void init() {
// 第一执行
System.out.println("spring init");
}
}
- 实现 InitializingBean 接口,重写 afterPropertiesSet() 方法
- Bean 去实现 InitializingBean 接口,然后重写 afterPropertiesSet() 方法即可
- afterPropertiesSet() 方法就是 Bean 的初始化回调方法
- Bean 去实现 InitializingBean 接口,然后重写 afterPropertiesSet() 方法即可
@Component
public class MyService implements InitializingBean {
public MyService() {
System.out.println("bean init"