Spring學習 4

bean的作用域

>>singleton默認

     在每個Spring IoC容器中一個bean定義只有一個對象實例。默認情況下會在容器啓動時初始化bean,但我們可以指定Bean節點的lazy-init="true"來延遲初始化bean,這樣,只有第一次獲取bean纔會初始化bean。如:

    <bean id="xxx" class="xxxxxxxxxxxx" lazy-init="true" />

   如果想對所有的bean都應用延遲初始化,可以在根節點bean設置default-lazy-init="true",如下:

   <beans default-lazy-init="true" />
>>prototype

   每次從容器獲取bean都是新的對象。
>>request
>>session
>>global session

可以通過構造方法中打印一句話,來驗證各作用域的加載時機。 結論,scope=“singleton”時候容器加載就直接打印了,scope=“prototype的時候就不是這樣了,要第一次調用。
發佈了50 篇原創文章 · 獲贊 4 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章