详解SpringBoot配置文件启动时动态配置参数方法

 更新时间:2020年11月12日 11:38:01   作者:观棋不语的我  
这篇文章主要介绍了详解SpringBoot配置文件启动时动态配置参数方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

序言

当我们要同时启用多个项目而又要使用不同端口或者变换配置属性时,我们可以在配置文件中设置${变量名}的变量来获取启动时传入的参数,从而实现了动态配置参数,使启用项目更加灵活

例子

server:
 port: ${PORT:50101} #服务端口
spring:
 application:
  name: xc‐govern‐center #指定服务名
eureka:
 client:
  registerWithEureka: true #服务注册,是否将自己注册到Eureka服务中
  fetchRegistry: true #服务发现,是否从Eureka中获取注册信息
  serviceUrl: #Eureka客户端与Eureka服务端的交互地址,高可用状态配置对方的地址,单机状态配置自己(如果不配置则默认本机8761端口)
   defaultZone: ${EUREKA_SERVER:http://eureka02:50102/eureka/} #向该地址上报心跳信息等
 server:
  enable‐self‐preservation: false #是否开启自我保护模式
  eviction‐interval‐timer‐in‐ms: 60000 #服务注册表清理间隔(单位毫秒,默认是60*1000)
 instance:
hostname: ${EUREKA_DOMAIN:eureka01}

${PORT:50101}:PORT是变量,当启动时该变量为空则默认50101端口
语法意思是:从该yml配置文件中或者启动配置传入的参数中获取对应属性值

可以类比一下写@Value注解时的格式
@Value(" ${huang.name}")

我们springboot的配置文件格式已经完成了,那么如何启动呢?

idea 点击 run -> edit configuration

在这里插入图片描述

设置配置文件参数步骤
1、首先按“+"号添加一个Application(SpringBoot项目添加SpringBoot也可以)
2、设置文件名称(随便起一个就行)
3、主要我画的三个红圈地方
1)、第一个是启动类的类路径
2)、设置要传入配置文件中的变量值

比如我要传入PORT这个变量的值:

server:
 port: ${PORT:50101} #服务端口

我们就这样写:
-DPORT=50101(-D可以理解为多个参数之间的分隔符)
多个参数就这样写:
-DPORT=50101 -DEUREKA_SERVER=http://eureka02:50102/eureka/ -DEUREKA_DOMAIN=eureka01

3)、项目名

完成,启动

在这里插入图片描述

在这里选择刚刚搞好的设置的名字,然后点击运行就会按照该设置中的参数来运行该项目了

到此这篇关于详解SpringBoot配置文件启动时动态配置参数方法的文章就介绍到这了,更多相关SpringBoot 动态配置参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JNDI在JavaEE中的角色_动力节点Java学院整理

    JNDI在JavaEE中的角色_动力节点Java学院整理

    这篇文章主要介绍了JNDI在JavaEE中的角色,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • java开源区块链jdchain入门

    java开源区块链jdchain入门

    这篇文章主要介绍了java开源区块链jdchain入门,文中为大家讲解了关于部署及组件遇到的一些问题,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-02-02
  • java设计模式学习之代理模式

    java设计模式学习之代理模式

    这篇文章主要为大家详细介绍了java设计模式学习之代理模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • Jackson优雅序列化Java枚举类过程解析

    Jackson优雅序列化Java枚举类过程解析

    这篇文章主要介绍了Jackson优雅序列化Java枚举类过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • SpringBoot使用EmbeddedDatabaseBuilder进行数据库集成测试

    SpringBoot使用EmbeddedDatabaseBuilder进行数据库集成测试

    在开发SpringBoot应用程序时,我们通常需要与数据库进行交互,为了确保我们的应用程序在生产环境中可以正常工作,我们需要进行数据库集成测试,在本文中,我们将介绍如何使用 SpringBoot 中的 EmbeddedDatabaseBuilder 来进行数据库集成测试
    2023-07-07
  • Mac下设置Java默认版本的方法

    Mac下设置Java默认版本的方法

    今天工作的时候发现了一个错误,提示java版本太低,无法启动!想起自己装过高版本的Java,但是却没有默认启动,从网上找了一些资料,整理下现在分享给大家,有需要的可以参考借鉴。
    2016-10-10
  • springcloud集成nacos 使用lb 无效问题解决方案

    springcloud集成nacos 使用lb 无效问题解决方案

    这篇文章主要介绍了解决springcloud集成nacos 使用lb 无效,通过查看spring-cloud-starter-gateway jar中的自动配置类的源码,得知,该jar包中是不支持负载均衡的,需要引入spring-cloud-starter-loadbalancer 来支持,需要的朋友可以参考下
    2023-04-04
  • 详解SpringBoot如何自定义一个Starter

    详解SpringBoot如何自定义一个Starter

    小伙伴们曾经可能都经历过整天写着CURD的业务,都没写过一些组件相关的东西,这篇文章记录一下SpringBoot如何自定义一个Starter。原理和理论就不用多说了,可以在网上找到很多关于该方面的资料,这里主要分享如何自定义
    2022-11-11
  • Java用20行代码实现抖音小视频批量转换为gif动态图

    Java用20行代码实现抖音小视频批量转换为gif动态图

    这篇文章主要介绍了Java用20行代码实现抖音小视频批量转换为gif动态图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • java二维数组遍历的2种代码

    java二维数组遍历的2种代码

    这篇文章主要介绍了java二维数组遍历的2种代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07

最新评论