SpringBoot中支持使用json格式的配置参数来注入到Environment环境变量中,下面给大家介绍下具体怎么使用~
- SpringBoot版本 2.4.5
使用方式
1.编写用于测试读取环境变量data.name的控制器方法
示例代码:https://github.com/netbuffer/spring-boot-demo/blob/master/src/main/java/cn/netbuffer/springboot/demo/controller/ParamController.java
@Value("${data.name:null}")
private String dataName;
@GetMapping("dataName")
public Object dataName() {
return dataName;
}
2.打包工程,得到可执行jar文件
3.编写json格式的配置参数,示例如下,设定web服务器端口号8888,设定data.name参数值为spring
{
"server": {
"port": 8888
},
"data": {
"name": "spring"
}
}
使用网页工具https://www.bejson.com/zhuanyi/,将json格式的字符串压缩成一行,等下会在传参时用到
- 使用如下命令来启动SpringBoot工程
基于系统属性配置方式
java -Dspring.application.json={\"server\":{\"port\":8888},\"data\":{\"name\":\"spring\"}} -jar spring-boot-demo.jar
基于命令行参数配置方式
java -jar spring-boot-demo.jar --spring.application.json={\"server\":{\"port\":8888},\"data\":{\"name\":\"spring\"}}
运行效果
5.使用如上任意一种命令启动jar服务,然后使用Postman工具访问测试接口/param/dataName
观察结果可以看到SpringBoot server已经在8888端口上监听,data.name值也已经成功注入到Environment环境中了
网友评论