我想部分地自动装配一个bean - 也就是说,我希望一些args可以自动装配,但是需要明确设置其他args。例如:
public MyClient(Service svc,boolean b)
在这个构造函数的情况下,我想在我的xml中指定b的值,但是让svc自动装配。这可能吗?
谢谢, 洛厄尔
答案 0 :(得分:4)
我认为构造函数不可能,但是使用显式setter肯定是这样。只需注释您想要使用@Autowired自动装配的那些,并在配置文件中设置其他文件
类似的东西:
public MyClient() {}
@Autowired
public setService (Service svc) {...}
public setBoolean (boolean b) {...}
然后在你的配置中
<context:annotation-config />
<bean id="service">...</bean>
<bean id="yourbean" class="MyClient">
<property name="b" value="true"/>
</bean>
答案 1 :(得分:3)
我自己想出来了,万岁!
我这样做的方法是在我的xml中添加如下内容:
<bean class="MyClient" autowire="constructor">
<constructor-arg index="1">...</constructor-arg>
<bean>