Spring Boot 参考指南(Spring bean和依赖项注入)

17. Spring bean和依赖项注入

你可以自由使用任何标准Spring框架技术来定义bean及其注入的依赖项,为了简单起见,我们经常发现使用@ComponentScan(找到你的bean)和使用@Autowired(进行构造函数注入)工作得很好。

如果按照上面建议的方式构造代码(在根包中定位应用程序类),可以不带任何参数添加@ComponentScan,所有应用程序组件(@Component@Service@Repository@Controller等)都自动注册为Spring bean。

下面的示例显示了一个@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注解

    原文作者:博弈
    原文地址: https://segmentfault.com/a/1190000016581904
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞