国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Spring配置使用之Bean生命周期詳解

Spring配置使用之Bean生命周期詳解

2021-01-25 11:22天天洗澡 Java教程

這篇文章主要介紹了Spring配置使用之Bean生命周期詳解,具有一定參考價值,需要的朋友可以了解下。

基本概念

Spring 中的 Bean生命周期,指的是 Bean 從創建到銷毀的過程。

下面來探究下幾個有關 Bean 生命周期配置的屬性。

lazy-init

lazy-init 表示延遲加載 Bean,默認在 Spring IoC 容器初始化時會實例化所有在配置文件定義的 Bean,若啟用了 lazy-init 則在調用 Bean 時才會去創建 Bean。

定義 Bean:

?
1
2
3
4
5
public class Animals {
   public Animals(){
     System.out.println("creating...");
   }
}

配置方式如下(以 xml 文件為例):

?
1
2
3
4
5
6
<!-- 表示啟用了延遲加載 -->
<bean id="animals" class="com.demo.Animals" lazy-init="true"/>
 
<!-- 不啟用延遲加載 -->
<bean id="animals" class="com.demo.Animals" lazy-init="default"/>
<bean id="animals" class="com.demo.Animals" />

調用驗證:

?
1
2
3
4
5
6
// 創建容器
String location = ...
ApplicationContext factory = new FileSystemXmlApplicationContext(location);
 
// 輸出結果:
// 若啟用了 lazy-init 則輸出 creating...,否則無打印信息。

depends-on

depends-on 是指指定 Bean 初始化及銷毀時的順序。該屬性可以用于標識當前 Bean 初始化之前顯式地強制一個或多個 Bean 被初始化。若指定 Bean 的作用域都是 singleton 時,表示該屬性指定的 Bean 要在當前 Bean 銷毀之前被銷毀。

在 Bean 中定義:

?
1
2
3
4
5
6
7
8
9
10
public class BeanOne{
   public BeanOne(){
     System.out.println("BeanOne...");
   }
}
public class BeanTwo{
   public BeanTwon(){
     System.out.println("BeanTwo...");
   }
}

在配置文件中定義:

?
1
2
<bean id="beanOne" class="com.demo.BeanOne" lazy-init="true" depends-on="beanTwo" />
<bean id="beanTwo" class="com.demo.BeanTwo" lazy-init="true" />

調用驗證:

?
1
2
3
4
5
6
String location = ...
ApplicationContext factory = new FileSystemXmlApplicationContext(location);
BeanOne beanOne= (BeanOne)factory.getBean("beanOne");
// 輸出結果:
// BeanTwo...
// BeanOne...

觀察輸出結果,調用 BeanOne 時,Spring 會自動創建 BeanTwo 實例。

init-method & destory-method

當實例化一個 Bean 時,可能需要執行一個初始化操作來確保該 Bean 可用狀態。同樣地,當不需要 Bean 時,將其從容器中移除時,可能還需要按順序執行一些清楚工作。

為 Bean 定義初始化和銷毀操作,需要使用 init-method 和 destory-method 屬性。

定義 Bean

?
1
2
3
4
5
6
7
8
9
10
11
12
// 進入房間后要開燈,離開房間后要關燈
public class Room {
  public Room(){
    System.out.println("enter room...");
  }
  public void turnOnLights(){
    System.out.println("turn on...");
  }
  public void turnOffLights(){
    System.out.println("turn off...");
  }
}

在 Xml 文件中配置

?
1
<bean class="com.demo.Room" init-method="turnOnLights" destroy-method="turnOffLights"/>

在 Ioc 容器中實例化該 Bean,在銷毀它

?
1
2
3
4
5
6
7
8
// 實例化 Bean
FileSystemXmlApplicationContext context = ...
// 銷毀 Bean
context.registerShutdownHook();
// 輸出內容:
// enter room...
// turn on...
// turn off...

總結

以上就是本文關于Spring配置使用之Bean生命周期詳解的全部內容,希望對大家有所幫助。有什么問題,歡迎大家留言交流討論。感謝朋友們對服務器之家網站的支持!

原文鏈接:http://blog.csdn.net/u012420654/article/details/52761391

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美成人h版在线观看 | 久久久久亚洲 | 97人人看| 黄色在线免费看 | 国产精品网站在线观看 | 狠狠色狠色综合曰曰 | 在线看av的网址 | 777色狠狠一区二区三区 | 精品在线一区 | 亚洲狼人| 国产欧美一区二区精品性色 | 国产一区二区免费 | 激情小视频 | 国产精品成人国产乱一区 | 欧美一区二区二区 | 精品日韩一区二区三区 | 日韩精品在线播放 | 午夜小视频在线观看 | 激情五月激情综合网 | 成人深夜在线 | 亚洲一区视频在线 | 干干干操操操 | 国产成人久久精品一区二区三区 | 免费视频爱爱太爽了 | 一级片网址 | 综合久久久 | 伊人中文 | www.午夜 | 波多一区二区 | 国产v亚洲v天堂无码 | 欧美一级特黄aaaaaaa在线观看 | 午夜精品久久久久久久久 | 精品伦精品一区二区三区视频 | 国外精品久久久蜜桃免费全文阅读 | 人人爱人人爽 | 国产欧美日韩在线观看 | 亚洲成人播放器 | 涩涩av在线| 免费看国产视频 | 日韩精品一区二区三区视频播放 | 91精品秘密在线观看 |