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...

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