作者:Colorful_Dong | 来源:互联网 | 2023-08-26 15:51
原文链接:http:itbus.techdetail.html?id8722你可以很自由的选择SpringFramework中的技术来定义和注入你的bean。为了简单,我们经
原文链接:http://itbus.tech/detail.html?id=8722
你可以很自由的选择Spring Framework中的技术来定义和注入你的bean。为了简单,我们经常使用@ComponentScan
来找到你的bean,使用@Autowired
来注入bean。
如果你的代码结构和之前我们推荐的一样(main class在package的根路径下),你可以仅仅使用@ComponentScan
,不需要任何参数就可以找到bean。所有组件(@Component
, @Service
, @Repository
, @Controller
等等)都会自动注册成为Spring Bean。
这里有一个简单的@Service
的例子:
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;
}
}
如果只有一个构造方法,你也可以省略这个@Autowired
:
@Service
public class DatabaseAccountService implements AccountService {
private final RiskAssessor riskAssessor;
public DatabaseAccountService(RiskAssessor riskAssessor) {
this.riskAssessor = riskAssessor;
}
}
注意这里是允许riskAssessor
设置为final
。