SpringBoot 2.0.X官方文檔-006-4-Spring Beans和依賴注入

SpringBoot 2.0.X官方文檔-006-4-Spring Beans和依賴注入

您可以自由地使用任何標準的Spring Framework技術來定義bean及其注入的依賴項。爲簡單起見,我們經常發現使用 @ComponentScan(找到你的bean)和使用@Autowired(做構造函數注入)效果很好。

如果按照上面的建議構建代碼(在根包中定位應用程序類),則可以添加@ComponentScan不帶任何參數的代碼。您的所有應用程序組件(@Component@Service@Repository@Controller等)自動註冊爲Spring Beans。

以下示例顯示了一個@Service使用構造函數注入來獲取所需RiskAssessor bean的Bean:

package com.example.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class DatabaseAccountService implements AccountService {

    private final RiskAssessor riskAssessor;

    @Autowired
    public DatabaseAccountService(RiskAssessor riskAssessor) {
        this.riskAssessor = riskAssessor;
    }

    // ...

}

如果bean有一個構造函數,則可以省略@Autowired,如下例所示:

@Service
public class DatabaseAccountService implements AccountService {

    private final RiskAssessor riskAssessor;

    public DatabaseAccountService(RiskAssessor riskAssessor) {
        this.riskAssessor = riskAssessor;
    }

    // ...

}

請注意使用構造函數注入如何將riskAssessor字段標記爲 final,表示無法隨後更改。

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