详解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 动态配置参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JAVA简单工厂模式(从现实生活角度理解代码原理)

    JAVA简单工厂模式(从现实生活角度理解代码原理)

    本文主要介绍了JAVA简单工厂模式(从现实生活角度理解代码原理)的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • springboot以FTP方式上传文件到远程服务器

    springboot以FTP方式上传文件到远程服务器

    这篇文章主要介绍了springboot以FTP方式上传文件到远程服务器,需要的朋友可以参考下
    2019-12-12
  • 关于feign对x-www-form-urlencode类型的encode和decode问题

    关于feign对x-www-form-urlencode类型的encode和decode问题

    这篇文章主要介绍了关于feign对x-www-form-urlencode类型的encode和decode问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • 基于Java代码配置MyBatis Generator

    基于Java代码配置MyBatis Generator

    这篇文章主要介绍了基于Java代码配置MyBatis Generator,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • spring boot 命令行启动的方式

    spring boot 命令行启动的方式

    这篇文章主要介绍了spring boot 命令行启动的方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • IntelliJ Idea SpringBoot 数据库增删改查实例详解

    IntelliJ Idea SpringBoot 数据库增删改查实例详解

    SpringBoot 是 SpringMVC 的升级,对于编码、配置、部署和监控,更加简单。这篇文章主要介绍了IntelliJ Idea SpringBoot 数据库增删改查实例,需要的朋友可以参考下
    2018-02-02
  • 详解如何使用Java8 Steam流对Map进行排序

    详解如何使用Java8 Steam流对Map进行排序

    这篇文章主要给大家详细介绍了如何使用Java8 Steam流对Map进行排序,文中通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-01-01
  • Java并发编程之原子变量与非阻塞同步机制

    Java并发编程之原子变量与非阻塞同步机制

    这篇文章主要介绍了Java并发编程之原子变量与非阻塞同步机制,本文讲解了非阻塞算法、悲观技术、乐观技术、CAS操作、原子变量、性能比较:锁与原子变量等内容,需要的朋友可以参考下
    2015-04-04
  • Java实现生成JSON字符串的三种方式分享

    Java实现生成JSON字符串的三种方式分享

    这篇文章主要来和大家分享一下Java实现生成JSON字符串的常见三种方式,文中的示例代码讲解详细,具有一定的学习价值,需要的可以参考一下
    2023-05-05
  • SpringBoot实现图片防盗链功能

    SpringBoot实现图片防盗链功能

    出于安全考虑,我们需要后端返回的图片只允许在某个网站内展示,不想被爬虫拿到图片地址后被下载,或者,不想浏览器直接访问图片链接,所以本文将给大家介绍SpringBoot实现图片防盗链功能,需要的朋友可以参考下
    2024-04-04

最新评论