Java Spring SingletonBean工厂定位程序bean销毁
在使用Java Spring SingletonBean工厂定位程序bean销毁,java,spring,Java,Spring,在使用SingletonBeanFactoryLocator及其BeanFactoryReference时,我发现当我在BeanFactoryReference实例上调用release时,上下文中的一些bean被销毁,但一些bean继续存在。我的假设是它们都会被摧毁 这样做的结果是,下次我使用相同的键使用SingletonBeanFactoryLocator和BeanFactoryReference,而不是获得全新的bean,我会从以前的上下文中获得一些bean。我找不到这背后的模式。这些bea
SingletonBeanFactoryLocator
及其BeanFactoryReference
时,我发现当我在BeanFactoryReference
实例上调用release
时,上下文中的一些bean被销毁,但一些bean继续存在。我的假设是它们都会被摧毁
这样做的结果是,下次我使用相同的键使用SingletonBeanFactoryLocator
和BeanFactoryReference
,而不是获得全新的bean,我会从以前的上下文中获得一些bean。我找不到这背后的模式。这些bean是单例的,但其中一些是重新创建的,一些是从旧上下文继承下来的。为什么会这样
例如:
假设在我的上下文中有bean A、B和C。它们都是单态的,B在A中注入,C在B中注入
我获取BeanFactoryReference
,获取这些bean,然后发布BeanFactoryReference
然后我再次得到
BeanFactoryReference
;bean A和B是新的,但C来自旧上下文(我打印了它们的系统哈希代码来检查它) 这不是春天的问题。它确实清除了所有的豆子。使用该方法的代码中出现了一个小故障,这使它看起来好像有些bean没有被销毁,而是被重用了。这在春季不是问题。它确实清除了所有的豆子。使用这个函数的代码中出现了一个小问题,这使得它看起来好像有些bean没有被销毁,而是被重用了