Spring Boot 參考指南(Spring bean和依賴項注入)

17. Spring bean和依賴項注入

你能夠自由使用任何標準Spring框架技術來定義bean及其注入的依賴項,爲了簡單起見,咱們常常發現使用@ComponentScan(找到你的bean)和使用@Autowired(進行構造函數注入)工做得很好。spring

若是按照上面建議的方式構造代碼(在根包中定位應用程序類),能夠不帶任何參數添加@ComponentScan,全部應用程序組件(@Component@Service@Repository@Controller等)都自動註冊爲Spring bean。segmentfault

下面的示例顯示了一個@Service Bean,它使用構造函數注入來得到所需的RiskAssessor 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,表示它不能隨後更改。

上一篇:自動配置

下一篇:使用@SpringBootApplication註解

相關文章
相關標籤/搜索