九、【生命周期】注解@PostConstruct和@PreDestroy
@PostConstruct和@PreDestroy来自JSR250规范,在构造方法执行,并且赋值完成后执行PostConstruct,在容器移除对象之前执行PreDestroy。
- 实体类
public class Dog {
public Dog() {
System.out.println("Dog类构造方法执行。。。");
}
@PostConstruct
public void init() {
System.out.println("Dog类PostConstruct方法执行。。。");
}
@PreDestroy
public void destroy() {
System.out.println("Dog类PreDestroy方法执行。。。");
}
}
- 配置类
@Configuration
public class DogConfig {
@Bean
public Dog dog () {
return new Dog();
}
}
- 测试类
public class MainTest {
@Test
public void m1() {
AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(DogConfig.class);
System.out.println("······容器初始化完成······");
applicationContext.close();
}
}
- 结果:
Dog类构造方法执行。。。
Dog类PostConstruct方法执行。。。
······容器初始化完成······
Dog类PreDestroy方法执行。。。