ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 17. Spring Beans和依赖注入 ### 17. Spring Beans和依赖注入 你可以自由地使用任何标准的Spring框架技术去定义beans和它们注入的依赖。简单起见,我们经常使用`@ComponentScan`注解搜索beans,并结合`@Autowired`构造器注入。 如果遵循以上的建议组织代码结构(将应用的main类放到包的最上层,即root package),那么你就可以添加`@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; } // ... } ``` **注** 注意使用构建器注入允许`riskAssessor`字段被标记为`final`,这意味着`riskAssessor`后续是不能改变的。