下面來簡單介紹下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