1. 程式人生 > 其它 >SpringIoc容器Bean的生命週期的init和destroy方法

SpringIoc容器Bean的生命週期的init和destroy方法

技術標籤:springioc

1.SpringIOC容器對Bean的生命週期的管理過程:

1、通過構造器或工廠方法建立Bean的例項

2、為Bean的屬性賦值或對其他Bean的引用

3、呼叫Bean的初始化方法

4、使用Bean

5、當容器關閉時,呼叫Bean的銷燬方法

2.程式碼如下:

1.實體類中的init和destroy方法

//資源初始化
 public void init(){
     System.out.println("init方法被呼叫");
 }
 //資源回收銷燬
 public void destroy(){
     System.out.println("destroy方法被呼叫");
 }
 public Video(){
     System.out.println("video空建構函式被呼叫");
 }
 //構造方法
 public Video(String title) {
     this.title = title;
 }

2.配置器中的程式碼

<bean id="video" class="com.xx.domain.Video" scope="singleton" init-method="init" destroy-method="destroy">
    <!--屬性注入-->
    <property name="id" value="9"/>
    <property name="title" value="Spring 5.x"/>
</bean>

3.main函式中的程式碼

public static void main(String[] args){
    ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
    testBean(context);
    //測試init和destroy的時候使用的回撥函式,此時才會呼叫destroy方法
    ((ClassPathXmlApplicationContext)context).registerShutdownHook();

}
//測試注入一個普通的bean||測試init和destroy方法
public static void testBean(ApplicationContext context){
    Video video=(Video) context.getBean("video");
    System.out.println(video.getTitle());
}

4.測試結果如下:
在這裡插入圖片描述