默認情況下,ApplicationContext
實現者將創建和配置所有單實例Bean
作爲初始化流程的一部分。通常,提前初始化是可取,這樣可以立即發現配置或環境錯誤。當不希望提前初始化Bean
,你也可以通過標記Bean
爲延遲初始化阻止一個單實力Bean
提起初始化。一個被標記爲延遲初始化的Bean
當它第一次被請求時由IoC容器創建而不是在啓動的時候。
<!-- 延遲初始化 -->
<bean id="" class="" lazy_init="true" />
當一個未被標記爲延遲初始化的單實例Bean
依賴一個被標記爲延遲初始化的Bean
時,ApplicationContext
將在啓動時初始化這個被標記爲延遲初始化的Bean
,以滿足這個單實例Bean
的依賴
除了可以控制單個Bean
的延遲初始化,也可以控制所有Bean
延遲初始化
<beans default_lazy_init="true">
<!-- no beans will be pre-instantiated -->
</beans>