IOC底層實現原理
阿新 • • 發佈:2019-02-19
1.基本概念
Ioc:控制反轉,建立物件的方式由傳統的new方式的建立轉變成交給spring容器進行管理。
2.底層實現
2.1 為什麼會出現ioc
且看一段程式碼
Class User{
Public void add(){};
}
傳統呼叫User類的add方法使用new方式建立User物件,然後再呼叫add方法。
該種方式缺點:程式碼耦合度高。
於是人們對以上程式碼進行了進一步改善
採用工廠設計模式:
建立一個工廠類:
Class UserFactory{
Public static User getUser(){
Return new User();
}
}
呼叫User類方法:User user=UserFactory.getUser();
此種方式缺點:在工廠類UserFactory中,又出現了新的耦合,返回的是new物件,所以需要進一步做出改進,這就是我們以下將要講到的ioc。
2.2 所使用的技術
① dom4j解析xml文件;
② 工廠模式
③ 採用反射設計模式建立物件
2.3 程式碼實現
配置Xml文件:
<bean id=”user” class=”user全路徑”>
建立一個工廠類:
Class UserFactory{
Public static User getUser(String name){
//利用dom4j得到name所對應的value值
String value=”class路徑”;
//利用反射獲取物件
Class clazz=Class.forName(value);
User user=class.newInstance();
Return user;
}
}
物件呼叫:
User user=UserFactory.getUser(“name”);
這樣的話我們要想修改User類,只需要修改xml配置檔案裡面就可以了,以上實現如果採用User介面再增加介面實現類會更加的好。