閱讀臨春2.5我有一個問題,發生了什麼事情在第90頁i列表4-19。爲什麼打電話preInstantiateSingletons()
他們展示了一個「ShutdownHook」的例子,他們在這裏創建一個bean工廠,然後調用factory.preInstantiateSingletons()
,然後以正常的方式從工廠獲得bean。
默認情況下,Spring會根據需要實例化單例bean。這是一個問題 爲
ShutdownHookBean
,因爲它需要被實例化爲 註冊本身作爲關機掛鉤。調用preInstantiateSingletons()
會導致Spring遍歷其所有的單例bean定義並創建實例,調用任何回調方法作爲合適的。
我不明白。無論如何,當你打電話給getBean(...)
時,是不是創建了這個bean?爲什麼需要調用preInstantiateSingletons()
呢?
你說的永遠不會直接引用意味着問題是什麼?你不需要獲得它的引用,以便將它作爲shutdownhook添加嗎? – LuckyLuke 2012-03-19 09:47:43
@Viper - 我充實了這個例子 – sw1nn 2012-03-19 11:33:18