代码:
<bean id="bean1" ...
<property name="Utils">
...
</bean>
我想要做:
<bean id="bean2" ...
<property name="Utils" ref="bean1.Utils"/>
春天可以吗?或者类似的东西?谢谢。
代码:
<bean id="bean1" ...
<property name="Utils">
...
</bean>
我想要做:
<bean id="bean2" ...
<property name="Utils" ref="bean1.Utils"/>
春天可以吗?或者类似的东西?谢谢。
是的
<bean id="bean1" ...>
<property name="Utils" ref="utilBean">
</bean>
<bean id="utilBean" ...>
和
<bean id="bean2" ...
<property name="Utils" ref="utilBean"/>
因为两者utilBean
都是单例bean1
,并且bean2
具有相同的属性实例Utils
您可以使用 PropertyPathFactoryBean。请参阅http://static.springsource.org/spring/docs/2.5.x/reference/xsd-config.html#xsd-config-body-schemas-util-property-path:
<bean id="bean2" ...
<property name="Utils">
<bean id="bean1.Utils"
class="org.springframework.beans.factory.config.PropertyPathFactoryBean"/>
这也可以使用 bean1 中没有由 Spring 设置的属性,只要它有一个 getter。
它可以定义为基于 xml 之类的;
<bean id="bean1">
<property name="Utils" ref="bean2">
</bean>
作为基于Java的注解;
@Autowired
Bean2 bean2;