私の具体的な問題は、同じインターフェースを実装する2つのBeanを構成し、そのインターフェースのタイプのプロパティーを持つ3番目のBeanを持っていることです。私は設定プロパティを使用してプロパティを注入します。だから、と仮定RemoteDataSourceとLocalDataSourceがあるIDataSourceを実装し、dao1がタイプあるIDataSourceの性質を持っている、私のXMLの設定は次のようになります。注釈を使用して設定ファイルから変数を使用してautowiredプロパティを修飾するにはどうすればよいですか?
URL、ファイルパスとデータソースで<bean id="datasource1" class="com.foo.RemoteDataSource">
<property name="url">${url}</property>
</bean>
<bean id="datasource2" class="com.foo.LocalDataSource">
<property name="path">${filepath}</property>
</bean>
<bean id="dao1" class="com.foo.MyDAO">
<property name="dataSource">${datasource}</property>
</bean>
が含まプロパティファイルで定義されています。私たちは現在、注釈主導の構成を推進しています。データファイルをプロパティファイルで設定するためにDAOに注釈を付ける方法がわかりません。私はこのような何かをしたいが、それは明らかに許可されていません。
@Autowired
@Qualifier("${datasource}")
public void setDataSource(IDataSource datasource) {...}
NB:これは春3
これは、アノテーション設定が適切でない場合の良い例です。 XMLとアノテーションは連携して機能し、それぞれの強みを活用します。 – skaffman