Spring Boot 中读取配置文件中的变量

Posted on Jan 18, 2020

在application.yml中配置的变量,可以在代码中引用到。

添加依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
    <version>2.2.0.RELEASE</version>
</dependency>

定义变量

application.yml文件中加入自定义的变量

my:
  name: wanngshushuo

对应的实体类

@Component // 文档中没有这个注释,但是不写会报错
@ConfigurationProperties(prefix="my")
public class MyConfig {
    private String name;
    // getter setter
}

在代码中使用

@RestController
public class MainController {

    private final MyConfig myConfig;

    MainService(MyConfig myConfig){
        this.myConfig = myConfig;
    }

    @GetMapping("/update")
    public String updateBlog(){
        return myConfig.getName();
    }
}