环境依赖
sprint-boot version 2.1.7
java version 1.8

pom.xml 依赖jar包
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>
test.properties
username=test
password=123456
info.age=26
看下目录布局

clipboard.png

TestConfig.java 加载配置的类文件
//prefix 为空则加载整个配置文件中的 参数
@ConfigurationProperties(prefix = "")
@PropertySource("classpath:test.properties")
//注意一定要注册
@Component
public class TestConfig {
    private String username;
    private String password;
    private Info info;

    public void setInfo(Info info) {
        this.info = info;
    }

    public Info getInfo() {
        return info;
    }

    public String getUsername() {
        return username;
    }

    public String getPassword() {
        return password;
    }


    public void setUsername(String username) {
        this.username = username;
    }

    public void setPassword(String password) {
        this.password = password;
    }

   public static class Info{
       private Integer age;

       public Integer getAge() {
           return age;
       }

       public void setAge(Integer age) {
           this.age = age;
       }

       @Override
       public String toString() {
           return "Info{" +
                   "age=" + age +
                   '}';
       }
   }

    @Override
    public String toString() {
        return "TestConfig{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", info=" + info +
                '}';
    }
}
HelloController.java 用来测试
@Controller
public class HelloController {

    @Autowired
    TestConfig testConfig;

    @ResponseBody
    @GetMapping("/hello")
    public String sayHello()
    {
        //读取配置
        return "age=" + testConfig.getInfo().getAge();
    }

    @ResponseBody
    @GetMapping("username")
    public String getUsername()
    {
        //读取配置测试
        return testConfig.getUsername();
    }
}
访问 http://localhost:8080/hello | http://localhost:8080/username

clipboard.png

clipboard.png


lpjustdoit
122 声望1 粉丝

对各种代码的追求热爱,希望用代码,编制出自己的世界