1.基本概念
ioc:控制反轉,建立物件的方式由傳統的new方式的建立轉變成交給spring容器進行管理。
2.底層實現
2.1 為什麼會出現ioc
且看一段**
class user
;}
傳統呼叫user類的add方法使用new方式建立user物件,然後再呼叫add方法。
該種方式缺點:**耦合度高。
於是人們對以上**進行了進一步改善
採用工廠設計模式:
建立乙個工廠類:
class use***ctory
}
呼叫user類方法:user user=use***ctory.getuser();
此種方式缺點:在工廠類use***ctory中,又出現了新的耦合,返回的是new物件,所以需要進一步做出改進,這就是我們以下將要講到的ioc。
2.2 所使用的技術
① dom4j解析xml文件; ② 工廠模式 ③ 採用反射設計模式建立物件2.3 **實現
配置xml文件:
建立乙個工廠類:
class use***ctory
}
物件呼叫:
user user=use***ctory.
getuser
(「name」)
;
這樣的話我們要想修改user類,只需要修改xml配置檔案裡面就可以了,以上實現如果採用user介面再增加介面實現類會更加的好。 Spring 底層IOC實現原理
總結 工廠 反射 配置檔案 即 spring底層實現的 ioc 控制反轉 一般用到的方法是依賴注入,還有依賴查詢。原理如上圖所示,當需要乙個物件時,我們不用去new乙個物件,而只需要宣告,然後交給工廠去從配置檔案中去得到所需要的類資訊,進行類的建立返回給宣告的引用,這就是控制反轉。注意 ioc 控制...
spring的ioc 底層原理實現
userservice us new userservice 面向介面程式設計 實現類 userservice us new userserviceimpl 並不是特別好,web層直接建立了介面的類,web層與業務層產生了耦合 好的程式設計滿足乙個原則 ocp原則 open close 原則 對程式...
IOC和AOP的底層實現原理
在談論ioc和aop的底層實現原理前,先來闡述一下ioc和di的區別。ioc和di的區別 1 ioc 控制反轉,把建立物件交給spring進行配置 2 di 依賴注入,向類裡面的屬性中設定值 3 二者關係 di不能單獨存在,要在ioc基礎之上來完成操作,即要先建立物件才能注入屬性值。aop底層實現 ...