依賴注入知識點:
spring中的依賴注入:
ioc的作用:
降低耦合(依賴關係)
依賴關係的管理:
以後都交給spring來維護
在當前類需要用到其他類的物件,由spring為我們提供,我們只需要在配置檔案中說明
依賴關係的維護:
就稱之為依賴注入
依賴注入:
能注入的資料: 有三類
基本型別和string
其他bean型別(在配置檔案中或者註解配置過的bean)
複雜型別/集合型別
注入的方式: 有三種
第一種: 使用建構函式提供
第二種: 使用set方法提供
第三種: 使用註解提供
1 建構函式注入:
使用的標籤 constructor-arg
標籤出現的位置: bean標籤的內部
標籤中的屬性:
type:
index:
name: 用於指定建構函式中指定名稱的引數賦值
***************==以上三個用於指定給建構函式中哪個引數賦值********************
value: 用於提供基本型別和string型別的資料
ref: 用於指定其他的bean類資料. 它指的就是在spring的ioc核心容器**現過的bean物件
優勢: 在獲取bean物件時,注入資料是必須的操作,否則物件無法建立成功
劣勢: 改變了bean物件的例項化方式,使我們在建立物件時, 如果用不到這些資料,也必須提供
2 set方法注入: (常用)
使用的標籤 property
標籤出現的位置: bean標籤的內部
標籤中的屬性:
name: 用於指定建構函式中指定名稱的引數賦值
value: 用於提供基本型別和string型別的資料
ref: 用於指定其他的bean類資料. 它指的就是在spring的ioc核心容器**現過的bean物件
優勢: 建立物件沒有明確的限制, 可以直接使用預設建構函式
劣勢: 不能限定某個引數的限制
2 複雜屬性注入:
用於給list結構集合注入的標籤: list array set
用於給map結構集合注入的標籤: map props
結構相同,標籤可以互換
bean,xml檔案:
<?xml version="1.0" encoding="utf-8"?>
aaabbbccc
listaa
listbb
listcc
setaaa
setbbb
propsa
propsb
**託管:
案例:
spring 之 ioc 依賴注入
關於bean的名稱,這裡有條預設的規則,就是類的名稱,然後第乙個字母小寫 依賴注入 xml方式 通過setter方法注入依賴 元素的 property 子元素指明了使用它們的set方法來注入。可以注入任何東西,從基本型別到集合類,甚至是應用系統的bean。這種方式的缺點是你無法在其它地方重用這個pe...
spring 依賴注入之 Resource注入
public propertyvalues postprocessproperties propertyvalues pvs,object bean,string beanname catch throwable ex return pvs private injectionmetadata fin...
spring技術內幕5 IoC容器的依賴注入
1 當spring ioc容器完成了bean定義資源的定位 載入和解析註冊以後,ioc容器中已經管理類bean定義的相關資料,但是此時ioc容器還沒有對所管理的bean進行依賴注入,依賴注入在以下兩種情況發生 1 使用者第一次通過getbean方法向ioc容器索要bean時,ioc容器觸發依賴注入。...