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

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容