是否可以部分自动装弹簧豆?

时间:2008-10-28 06:21:17

标签: spring

我想部分地自动装配一个bean - 也就是说,我希望一些args可以自动装配,但是需要明确设置其他args。例如:

public MyClient(Service svc,boolean b)

在这个构造函数的情况下,我想在我的xml中指定b的值,但是让svc自动装配。这可能吗?

谢谢, 洛厄尔

2 个答案:

答案 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>