在使用SingletonBeanFactoryLocator
及其BeanFactoryReference
我发现,当我打电话release
上BeanFactoryReference
例如,一些在上下文中的豆被破坏,但一些继续生活。我的假设是他们都会被摧毁。春SingletonBeanFactoryLocator的豆破坏
这样做的后果是,下次我使用SingletonBeanFactoryLocator
和BeanFactoryReference
具有相同的密钥,而不是获取全新的bean,我从前面的上下文中获得一些bean。我无法找到背后的模式。这些bean是单身人士,但其中一些是重新创建的,其中一些是从旧的环境中继承下来的。为什么这样?
例如: 假设我在我的上下文中有bean A,B和C.全部是单身,B注射在A中,C注射在B中。
我得到BeanFactoryReference
,得到这些豆,然后发布BeanFactoryReference
。
然后我再次得到BeanFactoryReference
;豆A和B是新的,但C是从旧的上下文(我打印他们的系统哈希代码来检查它)。