Spring Boot自定义配置与加载
application.properties主要用来配置数据库连接、日志相关配置等。除了这些配置内容之外,还可以自定义一些配置项,如:
my.config.msg=this is a string
my.config.url=com.luangeng.com
my.config.conbim=${my.config.msg}${my.config.url}
# 随机字符串
my.config.value=${random.value}
my.config.number=${random.int}
my.config.bignumber=${random.long}
# 10以内的随机数
my.config.test1=${random.int(10)}
# 10-20的随机数
my.config.test2=${random.int[5,10]}
增加配置类:
/**
* 自定义属性与加载
*/
@Component
public class MyConfig {
@Value("${my.config.msg}")
private String msg;
@Value("${my.config.url}")
private String url;
@Value("${my.config.conbim}")
private String conbim;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getConbim() {
return conbim;
}
public void setConbim(String conbim) {
this.conbim = conbim;
}
@Override
public String toString() {
return "MyConfig{" +
"msg='" + msg + '\'' +
", url='" + url + '\'' +
", conbim='" + conbim + '\'' +
'}';
}
}
配置类的使用:
@RestController
public class InfoController {
@Autowired
MyConfig myconfig;
@RequestMapping("/info")
public String msg() {
return "client1 service"+myconfig.toString();
}
}
多环境配置:
开发Spring Boot应用时,通常会部署到几个不同的环境,比如:开发、测试、生产环境。其中每个环境的数据库地址、服务器端口等等配置都会不同,频繁修改配置文件是个非常繁琐且容易发生错误的事。
对于多环境的配置,Spring Boot通过配置多份不同环境的配置文件,再通过打包命令指定需要打包的内容之后进行区分打包。
在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如:
application-dev.properties:开发环境 application-test.properties:测试环境 application-prod.properties:生产环境 至于哪个具体的配置文件会被加载,需要在application.properties文件中通过spring.profiles.active属性来设置,其值对应{profile}值。如:
spring.profiles.active=test就会加载application-test.properties配置文件内容
- 作者:luangeng
- 主页:https://wawazhua.cn
- 本文出处:https://wawazhua.cn/post/java/spring/spring-rest/
- 版权声明:禁止转载-非商用-非衍生