1. 程式人生 > >Spring控制反轉和

Spring控制反轉和

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配置檔案 在這裡插入圖片描述

在這裡插入圖片描述

此方法需在有網路的前提下使用