下面来简单介绍下Sping Boot中如何使用@ConfigurationProperties加载配置文件的内容java
my.name=lixuelong my.gender=man my.age=25
package cn.lixuelong.DTO; import org.springframework.boot.context.properties.ConfigurationProperties; @ConfigurationProperties(prefix = "my") public class MyInfoConfig { private String name; private String gender; private String age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } @Override public String toString() { return "MyInfoConfig{" + "name='" + name + '\'' + ", gender='" + gender + '\'' + ", age='" + age + '\'' + '}'; } }
你应该注意到这个对象上的@ConfigurationProperties(prefix="my") 这个注解了,属性prefix="my" 就是要告诉Sping Boot 我要加载application.properties中以"my."开头的属性(对象中的字段要和属性的名称一一对应)spring
@RestController @EnableAutoConfiguration @EnableConfigurationProperties(MyInfoConfig.class) public class Application { @Autowired public MyInfoConfig myInfoConfig; @RequestMapping("/") public String home() { return myInfoConfig.toString();; } public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
主要看@EnableConfigurationProperties(MyInfoConfig.class) 和 @Autowired 这两句,到这,配置的属性就已经被注入进来了app
@ConfigurationProperties(locations="classpath:/myInfo.properties",prefix = "my")
运行Application.java中的main方法,没有错误的话,访问一下 http://localhost:8080/ ,是否是看到你配置的属性了~ide