Spring依賴注入示例

在這個教程中,你將學習什麼是 Spring 依賴注入,它是如何工作的,以及如何使用它。

什麼是依賴注入?

依賴注入是您必須瞭解的Spring基礎知識之一。

當您創建一個複雜的應用程序時,很可能會有不同的對象一起工作。 理想情況下,您希望這些對象彼此獨立。 這個設計原則是控制反轉的,它強調 Java 類是相互獨立的,然後容器會將其從對象創建和維護中解放出來。 如果您不熟悉 IoC,我強烈建議您閱讀這篇關於IoC的文章。

思考一下您將如何按照傳統方法創建對象依賴關係。您將必須創建對象類型的實例變量,然後使用構造函數和setter方法。就像這樣:

public class Employee{
	private Company company;
	
	public Employee() {
		company = new Company();
	}
}

但是,當我們使用依賴注入時,它看起來就像這樣:

public class Employee{
	private Company company;
	
	public Employee(Company company) {
		this.company= company;
	}
}

你能明白爲什麼第二個例子更好嗎? 因爲現在 Employee 不需要擔心company的實現,它將獨立於 Employee 實現,並且將通過構造函數提供。

依賴項(company)通過構造函數注入到 Employee 類中。

依賴注入有兩種類型:

  1. 構造器注入
  2. 基於Setter的依賴注入

讓我們看看如何使用setter方法實現依賴注入。

基於Setter的依賴注入

當使用基於setter的注入時,容器將在調用無參數構造函數或方法實例化bean之後調用該類的setter方法。如果您不熟悉Spring中的bean,可以閱讀我之前的文章。

這是基於setter的依賴注入的實現方式:

@Bean
public void setCompany(Company company) {
   this.company = company;
}

至於使用哪種類型,通常建議對強制性依賴項使用構造函數注入,對可選性依賴項使用setter注入。

多虧了 依賴注入,現在 Employee 類不需要查找 Company,也不知道它的位置和類。

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