Spring依賴注入方式

2021-08-30 03:46:39 字數 1312 閱讀 4246

[b]一、依賴注入(di)簡介[/b]

依賴注入背後的基本原理是物件之間的依賴關係,可以通過以下幾種方式來實現:構造器的引數、工廠方法的引數,或給由建構函式或者工廠方法建立的物件設定屬性。因此,容器的工作就是建立bean時注入那些依賴關係。相對於由bean自己來控制其實例化、直接在構造器中指定依賴關係或者類似服務定位器模式這3種自主控制依賴關係注入的方法來說,控制從根本上發生了倒轉,這也正是控制反轉名字的由來。

依賴注入主要有兩種注入方式,即構造器注入和setter注入。

[b]二、構造器注入[/b]

基於構造器的依賴注入是通過呼叫帶引數的構造器來實現,每個引數代表著乙個依賴。下面展示了用構造器引數來注入依賴關係的例子。

先建立乙個物件(bean)

public class helloworld

public helloworld(string msg)

public string getmsg()

public void setmsg(string msg)

}

helloworld!

最後測試是否能夠得到注入的bean,並列印出物件的屬性。

[b]三、setter注入[/b]

通過呼叫無參構造器或無參static工廠方法例項化bean之後,呼叫該bean的setter方法,即可實現基於setter的依賴注入。

建立乙個物件

public class helloworld 

public void setmsg(string msg)

}

測試類,獲得注入的bean

處理bean依賴關係通常按以下步驟進行:

1.根據定義bean的配置建立並初始化beanfactory例項

2.每個bean的依賴將以屬性、構造器引數、或靜態工廠方法引數的形式出現。當這些bean被實際建立時,這些依賴也將會提供給該bean。

3.每個屬性或構造器引數既可以是乙個實際的值,也可以是對該容器中另乙個bean的引用。

4.每個指定的屬性或構造器引數值必須能夠被轉換成特定的格式或構造引數所需的型別。

spring會在容器被建立時驗證容器中每個bean的配置,包括驗證那些bean所引用的屬性是否指向乙個有效的bean。在bean被實際建立之前,bean的屬性並不會被設定。伴隨著bean被實際建立,作為該bean的依賴bean以及依賴bean的依賴bean也將被建立和分配。

Spring依賴注入方式

private int stuno private string stuname private int stuage private teacher teacher public student public student int stuno,string stuname,int stuage,...

Spring依賴注入方式

1.建立乙個user類 public class user 2.依賴注入的資料型別是基本資料型別和字串 2.1 通過set方法完成依賴注入 class com.zhiyou100.mcl.bean.user class com.zhiyou100.mcl.bean.student 2.2 通過建構函...

spring 依賴注入 Spring依賴注入

依賴注入 dependency injection,簡稱di 與控制反轉 ioc 的含義相同控制反 在使用spring框架之後,物件的例項不再由呼叫者來建立,而是由spring容器來建立,spring容器會負責控制程式之間的關係,而不是由呼叫者的程式 直接控制,這樣控制權由應用程式轉移到了sprin...