spring自動裝配Map,List等集合

2021-10-05 10:35:14 字數 872 閱讀 6640

現在有乙個策略的工廠

@component

public class strategyfactory

}

乙個抽象類,兩個實現類

public abstract class taskhandle
@component

public class taskhandleone extends taskhandle;

}

@component

public class taskhandletwo extends taskhandle;

}

spring會自動注入taskhandle的繼承類到handlemap中,

defaultlistablebeanfactory#doresolvedependency()中。總結來說規則就是:

1、如果是陣列,則獲取陣列元素型別,查詢匹配該型別的所有bean,返回乙個這些bean的陣列;

2、如果該類可賦給collection,並且是乙個介面,則獲取集合元素型別,查詢匹配該型別的所有bean,返回乙個這些bean的集合;

3、如果該型別是map(注意是type == map.class),且key是string型別,則獲取map的value的型別,查詢匹配該型別的所有bean,這是乙個key為bean name、value為bean例項的乙個map,返回這個map。

通過findautowirecandidates的方法找到taskhandle.class的繼承類,

Spring自動裝配

先在cn.csdn.hr.dao包中建立幾個檔案 public inte ce basedao public class basehibernatedaoimpl implements basedao public inte ce customerdao public class customerd...

Spring自動裝配

通常情況下,配置bean的時候,一些屬性依賴需要我們自己去裝配,但是如果這是乙個比較大型的工程,裡面定義了成百上千個bean,那全都靠我們手工去裝配,你一定打心底厭煩,幸運的是spring為我們提供了自動裝配的方式 只要遵循一定的規則,spring就會自動幫你裝配依賴,而不需要你手工去裝配 自動裝配...

Spring 自動裝配

bean的自動裝配 autowiring 四種型別 1.no 不做任何操作 2.byname 根據屬性名自動裝配。此選項將檢查容器並根據名字查詢與屬性完全一致的bean,並將其與屬性自動裝配 3.bytype 如果容器中存在乙個與指定屬性型別相同的bean,那麼將與該屬性自動裝配 如果存在多個該型別...