@Bean 指定初始化和销毁方法
bean 的生命周期
bean 的创建 --> 初始化 --> 销毁
ioc 容器管理 bean 的声明周期
可以自定义初始化和销毁方法
构造器( 对象创建 )被调用时机
单实例:在容器启动的时候创建对象
多实例:在每次获取的时候创建对象
初始化方法被调用时机
单实例:对象创建完成,属性赋值好了之后,调用初始化方法
多实例:在每次获取的时候,调用初始化方法
销毁方法被调用时机
单实例:容器关闭的时候
多实例:容器不会管理这个 bean ; 也就是说容器不会调用这个销毁方法
一、Student 类
public class Student { public Student(){ System.out.println("创建 Student 对象"); } public void init(){ System.out.println("初始化对象"); } public void destory(){ System.out.println("销毁对象"); } }
二、配置类
@Configuration public class ConfigOfLifeCycle { //initMethod:指定初始化的方法 //destroyMethod:指定销毁的方法 @Bean(initMethod="init",destroyMethod="destory") public Student student(){ return new Student(); } }
三、测试方法
@Test public void test3(){ //创建 ioc 容器 AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(ConfigOfLifeCycle.class); //关闭容器:用来测试 destory() 方法 applicationContext.close(); }