Spring Bean的初始化与销毁方式二

实现InitializingBean接口的afterPropertiesSet()方法,当beanFactory创建好对象,且把bean所有属性设置好之后,会调这个方法,
相当于初始化方法;实现DisposableBean的destory()方法,当bean销毁时,会把单实例bean进行销毁

1、pom.xml依赖

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.0.6.RELEASE</version>
</dependency>

2、实体类

import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;

public class Train implements InitializingBean, DisposableBean {
    public Train(){
        System.out.println("Train无参构造方法");
    }
    @Override
    public void destroy() throws Exception {
        System.out.println("Train...destory...");
    }
    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println("Train...afterPropertiesSet...");

    }
}

3、配置类

import com.it.vo.Train;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class LifeCycleConfig {
    @Bean
    public Train train() {
        return new Train();
    }
}

4、测试类

import com.it.config.LifeCycleConfig;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class LifeCycleConfigTest {
    public static void main(String [] args) {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(LifeCycleConfig.class);
        System.out.println("IOC容器创建完成");
        context.close();
    }
}

//结果:

Train无参构造方法
Train...afterPropertiesSet...
IOC容器创建完成
Train...destory...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章