2

Bean を部分的に自動配線したい - つまり、いくつかの引数を自動配線し、他の引数を明示的に設定したい。例えば:

public MyClient(Service svc, boolean b)

このコンストラクターの場合、xml で b の値を指定したいのですが、svc は自動配線されています。それは可能ですか?

ありがとう、ローウェル

4

2 に答える 2

4

コンストラクターでは可能だとは思いませんが、明示的なセッターでは確かに可能です。@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>
于 2008-10-28T07:12:56.533 に答える
3

私は自分でそれを理解しました、万歳!

私がやった方法は、xmlに次のようなものを入れることでした:

<bean class="MyClient" autowire="constructor">
   <constructor-arg index="1">...</constructor-arg>
<bean>
于 2008-10-29T00:13:46.740 に答える