在application.properties中添加屬性
ai.name=明
ai.age=22
ai.sex=男
定義配置類如下,前綴(prefix)可自定義修改,本文為 ai。
@ConfigurationProperties(prefix = “ai”)
public class PropertiesSetting1 {
private String name;
private Long age;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getAge() {
return age;
}
public void setAge(Long age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
若使用新的配置文件,需新建一個ai.properties。
ai.name=婷婷
ai.age=22
ai.sex=女
配置如下配置類,需要指定ai.properties的位置。
@ConfigurationProperties(prefix = “ai”,locations=”classpath:config/ai.properties”)
public class Properties1Setting {
private String name;
private Long age;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getAge() {
return age;
}
public void setAge(Long age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
在Controller中調用,
@Autowired
private PropertiesSetting propertiesSetting;
@Autowired
private Properties1Setting properties1Setting;
@RequestMapping("/properties")
public @ResponseBody String properties(){
System.out.println("姓名:"+propertiesSetting.getName()+",年齡:"+propertiesSetting.getAge()
+",性別:"+propertiesSetting.getSex());
System.out.println("姓名:"+properties1Setting.getName()+",年齡:"+properties1Setting.getAge()
+",性別:"+properties1Setting.getSex());
return "ok";
}
在項目的啟動類上面添加@EnableConfigurationProperties注解,如下。
@SpringBootApplication
@EnableConfigurationProperties({PropertiesSetting.class,Properties1Setting.class})
public class SpringbootNewApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootNewApplication.class, args);
}
運行項目,控制台輸出結果,到此配置完成。
(idea為例)如果控制台輸出的中文是亂碼,需要在
File—>Settings—>File Encodings進行設置如下圖。
重新運行,亂碼問題解決。