我使用Spring 3.2.2並想知道是否有一種方法可以通過類類型注入bean,而不必明確地給它們一個字符串名稱。例:命名類的NoUniqueBeanDefinitionException
@Named
public MyClass{
}
@Named
public MyOtherClass extends MyClass{
}
@Named
public class Foo{
public void blah(){
MyClass myClass = context.getBean(MyClass.class);
}
}
這將產生:
org.springframework.beans.factory.NoUniqueBeanDefinitionException:式[MyClass的]被定義的任何合格的豆:預期單一匹配豆但發現2:MyClass的,myOtherClass
有沒有一種方法可以說「使用與類名完全匹配的名稱」而不使用字符串名?
換句話說,我不想做的事:
@Named("MyClass")...
@Named("MyOtherClass")...
MyClass myClass = context.getBean("MyClass");
謝謝!
有沒有辦法用@Named做到這一點?我寧願使用JSR標準 – user973479 2013-03-20 13:07:35
你說你已經在使用Spring 3.2.2,那爲什麼你不使用它的註釋? – 2013-03-20 13:18:12
我更喜歡JSR註釋,所以更容易切換道路(如有必要)。從Spring使用JSR註釋沒有任何問題。除非Spring註釋專門提供了一個工作解決方案,否則我沒有看到切換的有效理由 – user973479 2013-03-20 13:19:57