如何将配置文件里的配置载入到配置类中去?

使用 @ConfigurationProperties 注解可以将 application.yml / application.properties 里的指定配置项与 Bean 绑定起来。

根据 prefix 来绑定配置文件中符合前缀的配置项,自动绑定到 Bean 中。

  1. @ConfigurationProperties(prefix = "test")

1、配置项

以 application.yml 为例

  1. test:
  2. age: 18
  3. name: 张三

2、配置类

  1. package com.example.boot.config;
  2. import lombok.Data;
  3. import org.springframework.boot.context.properties.ConfigurationProperties;
  4. import org.springframework.stereotype.Component;
  5. @ConfigurationProperties(prefix = "test")
  6. @Component
  7. @Data
  8. public class TestConfig {
  9. private String name;
  10. private Integer age;
  11. }

3、控制器

  1. package com.example.boot.controller;
  2. import com.example.boot.config.TestConfig;
  3. import lombok.extern.slf4j.Slf4j;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.web.bind.annotation.RequestMapping;
  6. import org.springframework.web.bind.annotation.RestController;
  7. import java.util.HashMap;
  8. import java.util.Map;
  9. @RestController
  10. @Slf4j
  11. public class TestController {
  12. @Autowired
  13. TestConfig testConfig;
  14. @RequestMapping("/test/config")
  15. public Map testConfig() {
  16. Map<String, Object> map = new HashMap<>();
  17. map.put("code", 1);
  18. map.put("msg", "ok");
  19. map.put("data", testConfig);
  20. return map;
  21. }
  22. }

4、测试

image.png