當使用實現相同接口的類時,是否可以將參數傳遞給@Qualifier("passedParameter")
。彈出多個類一個接口
所以這是一個接口說,實現Customer
Customer
然後三類是CustomerA
CustomerB
和CustomerC
然後一類autowires的Person
界面,我想指定特定類我想通過將參數傳入@Qualifier("CustomerA")
?
當使用實現相同接口的類時,是否可以將參數傳遞給@Qualifier("passedParameter")
。彈出多個類一個接口
所以這是一個接口說,實現Customer
Customer
然後三類是CustomerA
CustomerB
和CustomerC
然後一類autowires的Person
界面,我想指定特定類我想通過將參數傳入@Qualifier("CustomerA")
?
它總是最好使用@Resource(「CustomerA」),@Resource (「CustomerB」)。當同一接口的多個實現混淆在一起時,使用@Autowired和Qualifier會混淆代碼,並改爲命名bean並使用@Resource(「name」)注入它們。
請閱讀關於各種款式的文章http://blogs.sourceallies.com/2011/08/spring-injection-with-resource-and-autowired/。
@Qualifier應該與@Autowired註釋一起使用,以便在單個接口有多個bean的情況下傳遞bean名稱。 spring autowire默認按類型進行解析,因此您需要添加限定符,並使用您在CustomerA中使用限定符定義的bean名稱。 你也可以使用@Resource註解來完成autowird和qualifier的工作,並將字符串參數作爲你想要連接的bean的名字。
非常感謝 – 2014-09-03 06:19:26
所以我可以在運行時動態添加它,所以在本質上,我不會說我想要的實際課程,直到說客戶A登錄或客戶B或客戶C以及哪個我想要該類被稱爲? – 2014-09-03 12:54:35
@autowire默認buid依賴關係和在啓動時連線,如果你想懶惰地初始化嘗試添加屬性required = false。這是你在找什麼? – 2014-09-03 13:13:32
[Spring Qualifier和property placeholder]的可能重複(http://stackoverflow.com/questions/7812745/spring-qualifier-and-property-placeholder) – jny 2014-09-02 18:23:07