首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Spring中可以引用另一个bean的一部分吗?

在Spring中可以引用另一个bean的一部分吗?
EN

Stack Overflow用户
提问于 2012-07-04 18:47:08
回答 4查看 111关注 0票数 1

代码:

代码语言:javascript
复制
<bean id="bean1" ...
 <property name="Utils">
...
</bean>

我想做的是:

代码语言:javascript
复制
<bean id="bean2" ...
 <property name="Utils" ref="bean1.Utils"/>

在Spring中有可能吗?或者类似的东西?谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-07-04 20:11:37

我非常确定Jigar Joshianswer 就是您所需要的--但是如果不是这样,您可以使用SpEL

代码语言:javascript
复制
<bean id="bean2" ...
 <property name="Utils" value="#{bean1.getUtils()}"/>

这里假设bean1公开了一个getUtils()方法。

请注意,这不是正统的做法,通常也不是推荐的做法。

票数 1
EN

Stack Overflow用户

发布于 2012-07-04 18:50:43

代码语言:javascript
复制
<bean id="bean1" ...>
 <property name="Utils" ref="utilBean">
</bean>


<bean id="utilBean" ...>

代码语言:javascript
复制
<bean id="bean2" ...
 <property name="Utils" ref="utilBean"/>

由于utilBean将是singleton,因此bean1bean2对于属性Utils将具有相同的实例

票数 4
EN

Stack Overflow用户

发布于 2012-07-04 19:13:02

您可以使用PropertyPathFactoryBean。请参阅http://static.springsource.org/spring/docs/2.5.x/reference/xsd-config.html#xsd-config-body-schemas-util-property-path

代码语言:javascript
复制
<bean id="bean2" ...
  <property name="Utils">
    <bean id="bean1.Utils"
          class="org.springframework.beans.factory.config.PropertyPathFactoryBean"/>

这也可以使用来自bean1的属性,这些属性不是由Spring设置的,只要它有一个getter。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11327553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档