Spring】Spring 依賴注入方式

這一節主要通過一個實例來展現幾種注入方式的區別:

有兩個組件A和B,A依賴於B。假定A是一個類,且A有一個方法importantMethod使用到了B. 要使用B,類A必須先獲得組件B的實例引用。若B是一個具體類,則可通過New關鍵字直接創建組件B的實例。但是,如果B是接口,且有多個實現,則問題就變得複雜了。我們固然可以任意選擇接口B的一個實現類,但這也意味着A的可重用性大大降低了,因爲無法採用B的其他實現
依賴注入是這樣處理此類情形的:接管對象的創建工作,並將該對象的引用注入到需要該對象的組價。主要有三種方式,分別是set注入構造方法注入註解注入


1. set注入

這種方式需要編寫特定的set方法,該方法會被框架調用,以注入一個B的實例。

public class A {
    private B b;
    public void importantMethod() {
        b.usefulMethod();
    }
    public void setB(B b) {
        this.b=b;
    }
}

2. 構造器方式注入

spring會縣創建B的實例,在創建A的實例,然後把B注入到實例A中。

public class A {
    private B b;
    public A(B b) {
        this.b = b;
    }
    public void importantMethod() {
        b.usefulMethod();
    }
}

3.註解注入,下節有詳細介紹


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章