你可以自由的使用任何标准的Spring Framework技术来定义你得beans以及进行依赖的注入。方便起见,我们经常使用@ComponentScan(查找你得beans)和@Autowired(进行依赖注入),这两个使用起来很不错。
如果你得程序是按照上述所说的标准结构(入口类在根目录中),无需任何配置就可以使用@ComponentScan注释,这样程序的所有组件(被@Component、@Service、@Repository、@Controller等注释的类)都会自动注册为Spring Beans。
下面的例子显示了一个@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;
}
// ...
}
提示:
注意,当使用构造器注入依赖时,用final修饰了riskAssessor属性,这意味着它在之后不能发生改变。
总目录:总纲 Spring Boot官方文档(2.1.5版翻译)
上一篇:16.自动配置机制
博客介绍了在Spring Boot里可使用标准Spring Framework技术定义Bean和进行依赖注入。常用@ComponentScan查找Bean,@Autowired进行注入。若程序按标准结构,无需配置即可用@ComponentScan自动注册组件为Spring Beans,还给出了构造函数注入的示例及相关提示。
1747

被折叠的 条评论
为什么被折叠?



