zoukankan      html  css  js  c++  java
  • SpringBoot 官方文档中文版

    前言

    这是 SpringBoot 官方文档中文翻译版系列的第五篇文章:

    前四篇文章如下:

    SpringBoot 官方文档中文版 - 1. 入门指南

    SpringBoot 官方文档中文版 - 2. 构建系统

    SpringBoot 官方文档中文版 - 3. 构建你的代码

    SpringBoot 官方文档中文版 - 4. 配置类与自动化配置

    Spring Beans and Dependency Injection

    您可以自由使用任何标准 Spring Framework 技术来定义 bean 及其注入的依赖项。我们通常建议使用构造函数注入来连接依赖项,并使用 @ComponentScan 来查找 bean。

    如果按照上面的建议构造代码(将应用程序类放在顶级包中),可以不带任何参数地添加 @ComponentScan,或者使用 @SpringBootApplication 注释(它隐式地包含了它)。你的所有应用组件(@Component, @Service, @Repository, @Controller等等)都会自动注册为 Spring bean

    下面的示例展示了一个 @Service Bean,它使用构造函数注入来获取所需的 RiskAssessor Bean:

    import org.springframework.stereotype.Service;
    
    @Service
    public class MyAccountService implements AccountService {
    
        private final RiskAssessor riskAssessor;
    
        public MyAccountService(RiskAssessor riskAssessor) {
            this.riskAssessor = riskAssessor;
        }
    
        // ...
    
    }
    

    如果一个 bean 有多个构造函数,你需要用 @Autowired 标记你想让 Spring 使用的那个构造函数:

    import java.io.PrintStream;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    @Service
    public class MyAccountService implements AccountService {
    
        private final RiskAssessor riskAssessor;
    
        private final PrintStream out;
    
        @Autowired
        public MyAccountService(RiskAssessor riskAssessor) {
            this.riskAssessor = riskAssessor;
            this.out = System.out;
        }
    
        public MyAccountService(RiskAssessor riskAssessor, PrintStream out) {
            this.riskAssessor = riskAssessor;
            this.out = out;
        }
    
        // ...
    
    }
    

    请注意,使用构造函数注入时,riskAssessor 字段被标记为 final,表明它不能随意更改。

    每天学习一点点,每天进步一点点。

  • 相关阅读:
    nsis打包
    学习记录:ST表
    学习记录:快速幂
    学习记录:哈夫曼树
    学习记录:二叉树
    学习记录:康托展开 与 逆康托展开
    堆排序简介
    动态规划水题集
    lower_bound( ) 与 upper_bound( )
    琐碎的一点技巧
  • 原文地址:https://www.cnblogs.com/youcoding/p/15057023.html
Copyright © 2011-2022 走看看