我有这个类从XML创建应用程序上下文:
public class SpringModel {
public SpringModel(Object dependency) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(...);
Foo foo = (Foo) applicationContext.getBean("foo");
}
}
豆名为" foo"有一个看起来像这样的构造函数:
public Foo(Object dependency) {
...
}
我想将SpringModel
的构造函数中的参数注入Foo
的构造函数中。这可能吗?
答案 0 :(得分:0)
如果您正在使用基于xml的应用程序上下文,则可以定义依赖项,如
<beans>
<bean id="dependencyObj" class="Object"/>
<bean id="springModelObj" class="SpringModel">
<constructor-arg ref="dependencyObj"/>
</bean>
<bean id="foo" class="Foo">
<constructor-arg ref="dependencyObj" />
</bean>
</beans>
使用适当的setter方法将Spring对应引用作为SpringModel类中的私有变量也可能更容易。然后,您可以使用属性标记将其链接到xml配置中的SpringModel bean。