美文网首页SpringBoot专题
04、SpringBoot中的Beans 和 依赖注入

04、SpringBoot中的Beans 和 依赖注入

作者: Albert_Yu | 来源:发表于2019-06-15 18:29 被阅读6次

    在项目中你可以自由使用任何标准的Spring Framework技术来定义你的bean及其依赖注入关系。
    为了简单起见,我们可以使用@ComponentScan搜索bean,结合@Autowired构造函数(constructor)注入效果很好。当然也可以不使用构造函数的形式

    如果您按照上述建议(将应用程序类放在根包(root package)中)构建代码,则可以使用 @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,表示不能更改。

    相关文章

      网友评论

        本文标题:04、SpringBoot中的Beans 和 依赖注入

        本文链接:https://www.haomeiwen.com/subject/cjfifctx.html