SpringBoot自定義配置文件有兩種讀取方式
如在配置文件中自定義如下配置
- @Value註解讀取自定義配置文件——用於逐個讀取自定義的配置
新建一個controller類如下:
@Controller
public class ConfigInfoController {
@Value("${boot.name}")
private String name;
@Value("${boot.location}")
private String location;
@RequestMapping("/boot/config")
public @ResponseBody String config(){
return name + "---" + location;
}
}
啓動該項目,訪問結果如下:
2. @ConfigurationProperties讀取方式
創建一個類,用於將文件映射成一個對象,配置文件中的配置分別對應類中 的屬性,做一對一的映射。如下,創建一個類ConfigInfo(類名可以自己起)
@Component
@ConfigurationProperties(prefix = "boot")
public class ConfigInfo {
private String name;
private String location;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
}
在controller類中注入該對象,然後通過get方法得到配置文件中的自定義配置,此時的controller類爲:
@Controller
public class ConfigInfoController {
@Value("${boot.name}")
private String name;
@Value("${boot.location}")
private String location;
@Autowired
private ConfigInfo configInfo;
@RequestMapping("/boot/config")
public @ResponseBody String config(){
return name + "---" + location + "==" + configInfo.getName() +"---"+configInfo.getLocation();
}
}
運行結果如下: