7
私は定義された同じクラスのいくつかの豆いる:私は彼らにSpringでアノテーションを使って名前でオートワイヤリングする方法は?
@Autowired
public FieldDescriptor fullSpotField;
@Autowired
public FieldDescriptor annotationIdField;
をautowireするとき、その結果、私は例外ことが可能と名前でautowireする方法
NoUniqueBeanDefinitionException: No qualifying bean of type [...FieldDescriptor] is defined: expected single matching bean but found ...
を
@Bean
public FieldDescriptor fullSpotField() {
FieldDescriptor ans = new FieldDescriptor("full_spot", String.class);
return ans;
}
@Bean
public FieldDescriptor annotationIdField() {
FieldDescriptor ans = new FieldDescriptor("annotationID", Integer.class);
return ans;
}
を取得XML設定で?
私はQualifier'は豆の作成方法の近くに必要とされていない@ '、それはするのに十分であることがわかりましたこの注釈を '@ Autowired'とともに追加してください。 – Dims
@Dimsあなたは正しいです。 Bean作成メソッドで 'Qualifier 'が指定されていない場合は、最初のBeanの修飾子名としてメソッド名ex、" fullSpotField "が使用されます。 –