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

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

添加依赖

1
2
3
4
5
6
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
    <version>2.2.0.RELEASE</version>
</dependency>

定义变量

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

1
2
my:
  name: wanngshushuo

对应的实体类

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

在代码中使用

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
@RestController
public class MainController {

    private final MyConfig myConfig;

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

    @GetMapping("/update")
    public String updateBlog(){
        return myConfig.getName();
    }
}
updatedupdated2024-03-232024-03-23