2016-09-26 85 views
-1

我有一個擴展集合的類,特別是一個HashMap。我想在其他類中使用它作爲一個自動裝配Autowired場,但是當我嘗試使用@Autowired或@Resource註釋以下列方式:Autowire在Spring中擴展集合的類

@Autowired 
private myCollectionClass<String, Object> myCollectionClass; 

我得到的錯誤:類沒有合格豆[我的收藏課]

我該如何自動裝配課程?

(我不能在項目中使用XML)

回答

0

你註釋myCollectionClass

如果不是,則需要註釋myCollectionClass以及@Component以便Spring容器根據類名或類類型限定對象。

您還可以使用@Qualifier並指定限定符類的名稱。

+0

我已經註釋的集合類爲前一個組件在另一個類中自動裝配,但它仍然是相同的錯誤 – Zerg

1

最簡單的解決方法是使用@Resource指定bean ID

@Resource(name="myCollection") 
private MyCollectionClass<String, Object> myCollectionClass; 

或者你可以結合使用@Qualifier與@Autowired

@Autowired @Qualifier("myCollection") 
private MyCollectionClass<String, Object> myCollectionClass; 
+0

拋出「沒有名爲myCollection的bean被定義」 – Zerg

+0

Captain明顯的說:因此定義一個名爲「myCollection」的bean, –