Spring控制反轉和
阿新 • • 發佈:2018-12-11
Spring
Spring框架由大約20個功能模組組成,這些模組被分為六個部分,分別是Core Container,DataAccess/Integration,Web,Aop(Aspect Oriented Programming),Instrumentation及Test。
Spring Core是框架的最基礎部分,提供了IoC特性,SPring Context為企業級開發提供了便利和整合的工具,Spring AOP是基於Spring Core的符合規範的面向切面程式設計的實現。Spring JDBC 提供了JDBC的抽象層,簡化了JDBC程式碼,同時使程式碼更健壯。Spring ORM對市面上流行的ORM框架提供了支援,Spring Web為Spring再web應用程式中的使用提供了支援。
Spring IoC(控制反轉) 控制反轉也稱依賴注入,是面對物件程式設計中的一種設計理念,用於降低程式程式碼間的耦合度。在不使用Spring時,建立物件需要我們主動去new,A和B要一起完成一件事,A需要用到B這件事才能做到,這就叫A對B產生了依賴,使用了Spring以後,不需要我們去手動new物件,把new物件的權利交給了第三方,這樣A就不再依賴於B,所以控制反轉I是說建立物件的控制權進行轉移,以前建立物件的主動權和建立時機是由自己把控的,而現在這種權力轉移到第三方
例: 建立一個漢堡的介面
public interface Humburger { public void eat(); }
建立三個漢堡的子類,雞肉漢堡,豬肉漢堡和牛肉漢堡,並實現漢堡介面的eat方法
public class BeefHumburger implements Humburger { @Override public void eat() { System.out.println("正在吃牛肉漢堡"); } } public class CheckenHumburger implements Humburger { @Override public void eat() { System.out.println("正在吃雞肉漢堡"); } } public class PigHumburger implements Humburger { @Override public void eat() { System.out.println("正在吃豬肉漢堡"); } }
建立一個簡單工廠,用於降低耦合用以實現依賴反轉,工廠裡對建立什麼漢堡物件進行判斷
public class Factory {
public static Humburger getHanbugur(String str){
if (str.equals("雞肉")){
return new CheckenHumburger();
}else if(str.equals("牛肉")){
return new BeefHumburger();
}else if (str.equals("豬肉")){
return new PigHumburger();
}else {
return null;
}
}
}
編寫測試類
public class Test {
public static void main(String[] args) {
Humburger im=Factory.getHanbugur("雞肉");
im.eat();
}
}
在示例中,建立物件和判斷建立什麼物件都交給了工廠Factory。
如何建立一個Spring專案
專案建立完畢後有一個lib包,裡面有Spring相關的jar包就代表Spring專案建立成功,下面需要新建一個與src同級的包,並在裡面建立並配置Spring配置檔案
此方法需在有網路的前提下使用