美文网首页
SpringBoot使用基于json格式的配置方法

SpringBoot使用基于json格式的配置方法

作者: 向上生长之路 | 来源:发表于2021-10-07 16:45 被阅读0次

SpringBoot中支持使用json格式的配置参数来注入到Environment环境变量中,下面给大家介绍下具体怎么使用~

  • SpringBoot版本 2.4.5

参考官方文档:https://docs.spring.io/spring-boot/docs/2.4.5/reference/htmlsingle/#boot-features-external-config-application-json

使用方式

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格式的字符串压缩成一行,等下会在传参时用到

  1. 使用如下命令来启动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环境中了

示例工程:https://github.com/netbuffer/spring-boot-demo

相关文章

网友评论

      本文标题:SpringBoot使用基于json格式的配置方法

      本文链接:https://www.haomeiwen.com/subject/zxqznltx.html