一
(a)默認lazy
當spring容器實例化的時候
容器中對象全部完成實例化
<bean id=
(b)lazy
當從spring容器中獲取對象時候在對對象
實例始化
(c)設置全局default
整個配置文件中對象都實例化延遲
<beans …
default
</beans>
注意
二
<bean id=
<bean id=
scope:在web開發中使用request
回顧
會話
pageContext:當前頁面
session:一次會話
request:一次請求
application:整個應用服務器
測試類
[java]
public class Bean {
public void show(){
System
}
public Bean() {
System
}
public static void main(String[] args) {
ApplicationContext ac = new
FileSystemXmlApplicationContext(
Bean bean
Bean bean
if(bean
System
}else{
System
}
}
}
當配置文件中<bean id=
運行結果
我出生了
單例
當配置文件中<bean id=
運行結果
我出生了
我出生了
多例
三
(a)在spring配置文件定義銷毀方法和初始化方法
<bean init
(b)在Bean 對象中定義銷毀方法和初始化方法
public void init(){}
public void destroy(){}
(c)spring容器自動調用銷毀方法和初始化方法
注意
AbstractApplicationContext提供銷毀容器方法
close()
Bean對象時多例不支持destroy(){}銷毀
scope=
測試類
[java]
public class Bean {
public void show(){
System
}
public Bean() {
System
}
//定義初始化方法
public void init(){
System
}
public void destroy(){
System
}
public static void main(String[] args) {
AbstractApplicationContext ac = new
FileSystemXmlApplicationContext(
Bean bean = (Bean)ac
bean
ac
}
}
當配置文件中<bean id=
運行結果
我出生了
執行init方法
我是一個豆子
執行destroy
當配置文件中<bean id=
運行結果
我出生了
執行init方法
我是一個豆子
From:http://tw.wingwit.com/Article/program/Java/ky/201311/11162.html