参考资料
- 【bean的生命周期】详解InitializingBean、initMethod和@PostConstruct
- @PostConstruct、InitializingBean、initMethod使用详解
- InitializingBean、@PostConstruct、@Bean(initMethod = “init“)和构造方法 执行优先级比较
👉 一句话总结 👈
static静态块 > 构造方法 > @PostConstruct注解 > InitializingBean接口
- @PostConstruct注解是jdk提供的
- InitializingBean接口是Spring提供的
import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
@Component
public class TestBean implements InitializingBean {
static {
System.out.println("static代码块,第1个执行...");
}
public TestBean() {
System.out.println("构造方法,第2个执行...");
}
@PostConstruct
public void init1() {
System.out.println("@PostConstruct注解,第3个执行...");
}
@Override
public void afterPropertiesSet() throws Exception {
System.out.println("InitializingBean接口,第4个执行...");
}
}
👉👉👉效果👈👈👈