@PostConstruct 和 @PreDestroy 指定初始化和销毁方法

时间:2021-01-18 19:40:54

通过实现 @PostConstruct 和 @PreDestroy 注解,也可以指定 bean 的初始化和销毁方法

一、Student 类

public class Student{

    public Student(){
        System.out.println("创建 Student 对象");
    }
    
    //对象创建并赋值之后被调用
    @PostConstruct 
    public void init(){
        System.out.println("初始化");
    }
    
    //容器移出 Student 对象之前被调用
    @PreDestroy
    public void destroy(){
        System.out.println("销毁对象");
    }
    
}

二、配置类

@Configuration
public class ConfigOfLifeCycle {
    
    @Bean
    public Student student(){
        return new Student();
    }
}

三、测试代码

@Test
public void test3(){
    //创建 ioc 容器
    AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(ConfigOfLifeCycle.class);
    
    //关闭容器:用来测试 destory() 方法
    applicationContext.close();
}