SpringIoc容器Bean的生命週期的init和destroy方法
阿新 • • 發佈:2021-01-10
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.測試結果如下: