1. 程式人生 > >Spring基礎學習筆記(四)

Spring基礎學習筆記(四)

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()