1、ioc
ioc(控制反轉):本來應該有應用程式管理的物件之間的依賴關係,現在交給容器管理,這就是控制反轉的定義,即交給了ioc容器。
spring的ioc主要是依賴於di(注入)實現的,不需要應用程式去主動查詢,物件的查詢、定位、建立都交由容器管理。
2、spring的優勢
1)大量減少了factory和singleton(工廠和單例),使得**的層次更加清晰,原因就是我們不需要主動查詢、定位、建立物件和管理物件之間的依賴關係,這些已經都交給容器進行管理了。
2)spring的ioc容器是乙個輕量級的容器,沒有侵入性,意思就是不需要實現或者繼承任何ioc的介面,不依賴容器的api。
3)**的解耦,將耦合推遲到了配置檔案當中,即使需要變化也非常容易控制。
id="userdaoimpl"
class="com.errol.dao.userdaoimpl">
bean>
id="usermanagerimpl"
class="com.errol.manager.usermanagerimpl">
name="userdao"
ref="userdaoimpl">
property>
bean>
5)加入junit測試包,編寫乙個測試函式,測試ioc容器,檢視是否通過ioc容器獲取到我們的物件。
public
class
client
}
6)在測試函式中右鍵run–>juint,檢視輸出結果。
4、常用的屬性注入
直接看**
id="tradeacco"
class="com.errol.dao.tradeacco">
name="vc_tradeacco">
0001value>
property>
name="vc_fundacco">
980001value>
property>
name="en_balance"
value="1000000">
property>
name="en_share"
value="888888">
property>
name="ls_manager">
s01value>
s02value>
s03value>
s04value>
list>
property>
name="st_fundcurrent">
s01123412value>
s02231412value>
s035767value>
s04213747value>
set>
property>
name="mp_sharedetail">
key="150001"
value="1000">
entry>
key="250001"
value="2000">
entry>
key="350001"
value="3000">
entry>
map>
property>
name="prop">
key="1">
prop>
props>
property>
name="vc_date"
value="2016/12/13">
property>
bean>
看上面的**可以值到,一些常用的屬性,string int double之類的注入值的時候,可以直接在 這樣的方式注入,也可以在property標籤內部加乙個value標籤。
還有一點,看int和double型別的屬性,注入的值都是字串型別或者對應的型別值,這是由於spring在注入物件屬性時,會對注入值進行編輯,呼叫屬性編輯器,內部就是乙個map,裡面裝有各種型別的編輯方式,比如,注入乙個int型別的屬性時,value=」123」,當呼叫屬性編輯器時,自動將string型別的值轉成了int型別,實現注入。
由上面可以得知,屬性編輯器存放在乙個map當中,我們是否可以自定義乙個屬性編輯器呢?下回分解。
Spring學習 IOC容器 xml
1.xml檔案配置 2.註解 commons logging 1.2 bin spring framework 4.3.0.release dist匯入到專案 建立乙個類,用來完成對spring配置檔案的載入和銷毀 所有的單元測試類都必須繼承自上類,並且都必須加註解 runwith blockjun...
spring學習之IoC容器
jinnianshilongnian 寫道 理解ioc容器問題關鍵 控制的哪些方面被反轉了?1 誰控制誰?為什麼叫反轉?ioc容器控制,而以前是應用程式控制,所以叫反轉 2 控制什麼?控制應用程式所需要的資源 物件 檔案 3 為什麼控制?解耦元件之間的關係 4 控制的哪些方面被反轉了?程式的控制權發...
Spring元件和IOC容器
主要完成三個功能,在spring中好比乙個演員的角色 1 bean的建立 由beanfactory完成 2 bean的定義 由beandefinition完成 3 bean的解析 由beandefinitionreader完成 該元件提供了spring的基本執行環境,在spring中好比乙個舞台的角...