Spring基礎學習筆記(四)
阿新 • • 發佈:2018-12-30
Bean物件的作用域
預設自定義的bean都是單例
自己寫的類:dao層,service層,action層,domain層,util層
哪些層應該是單例?
dao層,service層,DataSource,SessionFactory
哪些層應該是多例(獲取一次就new一次)?
struts2:action層
domain層,util層不由spring管理,自己管理
Bean節點有個屬性scope
singleton,預設值,單例
prototype,多例 struts2的action必須配置多例
以下兩種一般都不用
request 放到http請求作用域
session 放到http會話作用域
Bean物件的生命週期
1.構造,初始化,業務方法,銷燬
2.如果配置為多例,則銷燬方法不執行
3.一般來講,都不使用,配置資料來源DataSource destroy-method="close"用來銷燬記憶體裡面的連線
<!--初始化方法 init-method="init" 銷燬方法 destroy-method="destory"-->
<!-- 多例不呼叫銷燬方法,它認為用一次就不要了 -->
<bean id="myBean" class="cn.mytest.spring.day1.f_scope.MyBean"
init-method="init" destroy-method="destory" scope="prototype"/>
方法呼叫順序
構造方法->init()->業務方法->destory()