阅读临春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