Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring SingletonBean工厂定位程序bean销毁_Java_Spring - Fatal编程技术网

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没有被销毁,而是被重用了