【发布时间】:2012-11-02 15:21:50
【问题描述】:
假设我有自己的 bean,其中包含另一个硬编码的 bean。
如何通过 Spring 配置加入这个?
第一种方法是使用工厂方法:
<bean id="bean1" class="myClass1"/>
<bean id="bean1.member" factory-bean="bean1" factory-method="getMember"/>
<bean id="bean2" class="myClass2">
<property name="collaborator" ref="bean1.member"/>
</bean>
另一种方法是使用EL:
<bean id="bean1" class="myClass1"/>
<bean id="bean2" class="myClass2">
<property name="collaborator" value="#{bean1.member}"/>
</bean>
在后一种情况下,Spring 没有实现依赖。无论如何,Eclipse 中的 Bean Graph 显示的是不相关的 bean。
有没有更好的方法?也许我可以用MyClass1 实现一些接口,以便将其视为容器或上下文?
【问题讨论】:
标签: java spring javabeans ioc-container