0

有一个解决方案:

    <bean name="1" class="My1" />

<bean name="2" class="My2" scope="prototype">
    <property name="field1" ref="1">
</bean>

<bean name="3" class="My3" scope="prototype">
    <property name="field1" ref="1">
</bean>

但我不想那样做。我不希望在应用程序中的任何地方都可以访问 bean“1”并且 Spring 控制它。我只希望 bean "2" 和 "3" 获得相同的实例。我能做到吗?如何?

4

2 回答 2

4

我不确定问题是什么。默认情况下,Spring bean 是单例的。因此,在您的示例中,2并且3已经具有相同的1. Spring 控制的实例1并不是真正“在应用程序中的任何地方都可以访问”,它只能在注入的地方访问。

于 2012-05-14T18:37:50.717 回答
0

如果您没有在 xml 中明确指定 bean“1”,而只是在控制器第一个请求中创建它的对象,然后将其放入您的会话中,以便可以在具有相同实例的整个应用程序中访问它,该怎么办。而且您只能在您想要的控制器中访问它。

希望这对您有所帮助。

干杯。

于 2012-05-15T07:38:36.550 回答