lcmxiaoya

导航

Spring Beans和依赖注入

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

如果您按照上面建议的方式构造您的代码(在根包中定位您的应用程序类),您可以添加@ComponentScan,而无需任何参数。您的所有应用程序组件(@Component、@Service、@Repository、@Controller等等)都将自动注册为Spring 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,表明它不能被随后更改。

posted on 2018-04-16 20:08  lcmxiaoya  阅读(477)  评论(0编辑  收藏  举报