吊炸天,springboot的多环境配置一下搞明白了!

香菜+ 香菜+     2023-02-18     587

关键词:

1、 使用springboot的profile命名规则

profile用于多环境的激活和配置,用来切换生产,测试,本地等多套不通环境的配置。如果每次去更改配置就非常麻烦,profile就是用来切换多环境配置的。

在Spring Boot框架中,使用Profile配置文件进行多环境配置时,该配置文件命名必须满足

application-profile.properties

比如我们常看到的

application-dev.yml 或者 application-dev.properties

2、application的继承

application-dev.yml会继承application.yml的属性

如 application.yml

spring:
  profiles:
    active: dev
  application:
    name: ccp-mqtt

logging:
  file:
    path: /log/$spring.application.name/trace/ #日志文件位置
  config: classpath:logback-spring.xml

dev环境配置,会继承上个所有的配置

spring:
  data:
    mongodb:
      uri: mongodb://172.26.1.247:27017/ccp_monitor
注意:参数覆盖规则
appliacation.properties>appliacation.yml>application.yaml
相同配置参数,优先级高的生效。

3、application.yml 的组合

先看下项目中的配置文件

可以看到有很多不同功能的配置文件,但是怎么通过组合启用相应的功能呐

看下application.yml

spring:
  profiles:
    active: dev
    include: event,dpe,spat,bsm,tracking
  application:
    name: ccp-mqtt

可以看到通过include的标签,并且不需要写前缀application,你学废了吗?

命名规则你看懂了吗

application-function.properties

4、项目启动时激活配置

1)通过配置文件激活

直接在application.yml中指定

spring:
  profiles:
    active: dev

2)通过vm参数激活

这个主要针对idea的开发使用,如果你使用eclipse也是类似

3)通过命令行参数

这个和启动脚本是一样的原理

4)运行时指定参数

可以在启动脚本中激活

 java -jar ccpParking.jar --spring.profiles.active=test

5)通过idea的参数设置

如下

5、application启用环境参数

多个配置文件也很烦,不能动态的配置,环境变量比较方便,一套配置,根据环境切换

  redis:
    #    host: 10.12.6.76
    #    port: 4888
    #    password: 6Qhq8BeRWE7WYOLqRjhwP233ujB1zSPR
    #    database: 9
    host: $REDIS_HOST:172.26.1.152
    port: $REDIS_PORT:6379
#    password: $REDIS_INTERNAL_PASSWD:6Qhq8BeRWE7WYOLqRjhwP233ujB1zSPR
    database: $ECARDSERVER_REDIS_DBNO:6
    lettuce:
      pool:
        max-active: 64
        max-idle: 16
        max-wait: 100ms
        min-idle: 8

这里如果配置了环境变量则使用环境变量,如果没配则使用默认值

port: $REDIS_PORT:6379 如果环境变量设置了REDIS_PORT 则使用,否则默认6379

环境变量一般在容器启动脚本中配置

5、总结

多环境的配置主要是为了切换方便,方案很多,建议使用环境变量的方式,这样不用搞那么多配置文件

点赞关注是美德

吊炸天,springboot的多环境配置一下搞明白了!

1、使用springboot的profile命名规则profile用于多环境的激活和配置,用来切换生产,测试,本地等多套不通环境的配置。如果每次去更改配置就非常麻烦,profile就是用来切换多环境配置的。在SpringBoot框架中,使... 查看详情

吊炸天的kafka图形化工具eagle,必须推荐给你!

...践,大家基本就能入门Kafka了。安装、可视化工具、结合SpringBoot,这些基本都是和开发者相关的操作,也是学习Kafka的必经之路。 查看详情

吊炸天的kafka图形化工具eagle,必须推荐给你!(代码片段)

...a;Kafaka在Linux下的安装,Kafka的可视化工具,Kafka和SpringBoot结合使用。希望大家看完后能快速入门Kafka,掌握 查看详情

springboot学习系列

springboot多环境配置以及yml配置文件1、平时项目中,我们可能需要到配置生产环境,测试环境,以及开发环境2、那么每次在项目发布的时候,可能都需要改一下配置文件,修改一些路径才可以。3、接下来讲一下springboot的多环境... 查看详情

为何测试时性能吊炸天而上线却惨不忍睹?

转自:冬瓜哥为何测试时性能吊炸天而上线却惨不忍睹?无数次,让各个存储厂商的售前、售后、架构师头痛的一件事情就是:明明前期测试的时候性能强悍到报表,SPC1之流登顶,结果用户实际业务部署之后发现,性能惨不忍... 查看详情

springboot在启动时的多环境配置以及加载顺序

  通常我们在开发完成一个SpringBoot项目时,总是要打包部署的。  在启动SpringBoot应用时,我们常常会使用命令java-jarxxx.jar来启动这个服务。  命令java-jar除了启动应用之外,还可以在命令中指定应用的参数,比如一下带... 查看详情

springboot的多环境配置

语法结构:application-profile.properties/ymlprofile:代表某个配置环境的标识示例:  application-dev.properties/yml  开发环境  application-test.properties/yml  测试环境  application.prod.properties/yml  生产环境Windows环境下启动  java-ja... 查看详情

springboot的多环境配置(代码片段)

1、可以在resources中定义多个配置文件:application-dev.properties、application-prod.properties,然后在主配置文件中(application.properties)中激活哪个配置文件#激活开发环境spring.profiles.active=dev2、可以使用yml配置的多环境文档块(方便)server:p... 查看详情

吊炸天!终身免费,用起来比破解还香!(代码片段)

哈喽,大家好,我是月亮。一个工作n年的老程序员啦,平时喜欢研究各种有意思的小工具,每周定时分享给大家~不知道大家有没有想在自己电脑上找文件,但偏偏又不记得文件放在哪个位置的经历。头发都能... 查看详情

吊炸天!终身免费,用起来比破解还香!(代码片段)

哈喽,大家好,我是月亮。一个工作n年的老程序员啦,平时喜欢研究各种有意思的小工具,每周定时分享给大家~不知道大家有没有想在自己电脑上找文件,但偏偏又不记得文件放在哪个位置的经历。头发都能... 查看详情

吊炸天的云原生,到底是个啥(代码片段)

云原生技术里有很多技术、概念和术语,不了解的人,往往弄不清楚而一头雾水,这些概念都是啥,之间是什么关系?本文要说的就是这些。本文更多是科普和扫盲,无意面面俱到,也无意深入细节。... 查看详情

发现一款超牛逼的数据库工具,idea公司出品,功能超多,吊炸天。。

作者Atzuge链接https://www.cnblogs.com/zuge/p/7397255.htmlDataGrip是大名鼎鼎的JetBrains公司出品的,就是那个出品IntellijIDEA的公司。它是一款数据库管理客户端工具,方便连接到数据库服务器,执行sql、创建表、创建索引 查看详情

windows平台整合springboot+kafka__环境配置部分

项目需要,需要整合 SpringBoot+KAFKA我调查了一下,发现Linux中,要先装zoomkeeper,再装KAFKA,如  https://blog.csdn.net/zhangcongyi420/article/details/88674491 我CA,我的机器搞不动,而且要搞的话,也要搞好几个虚机一起弄个大数... 查看详情

发现一款超牛逼的数据库工具,idea公司出品,功能超多,吊炸天。。

作者Atzuge链接https://www.cnblogs.com/zuge/p/7397255.htmlDataGrip是大名鼎鼎的JetBrains公司出品的,就是那个出品IntellijIDEA的公司。它是一款数据库管理客户端工具,方便连接到数据库服务器,执行sql、创建表、创建索引以及导出... 查看详情

零基础学习软件测试从懵逼到吊炸天之基础与进阶篇

本专题是集中了多部单个课程而来,主要针对在校学生、毕业生、想进入测试行业的零基础童鞋和初级测试工程师而定制。专题中的内容从基础理论到后续的技术点都包括了,后续还会不断更新,购买者均可免费观看!专题中的... 查看详情

对英伟达fuck!被迫无奈赚500w,这程序员真的吊炸天...

本文原创公众号:不会笑青年,授权转载请联系微信(laughyouth369),授权后,请在原创发表48小时后转载。<END>作者:不会笑青年漫画师:鹦鹉写在最后说起Linux之父发飙对竖中指怒喷英伟达这件事,... 查看详情

对英伟达fuck!被迫无奈赚500w,这程序员真的吊炸天...(代码片段)

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇作者:不会笑青年漫画师:鹦鹉来源丨不会笑青年(ID:laughyouth)本文原创公众号:不会笑青年,授权转载请联系微信(laughy... 查看详情

springboot多环境配置,旧的已过时,新的有人还不知道(代码片段)

如果你使用SpringBoot2.4及以上版本,你会发现SpringBoot中对多环境支持的配置项spring.profiles.active已经被废弃。而SpringBoot也一直在逐步推新的配置方式,可能很多人还不知道,本文就带大家一探究竟。SpringBoot的多环境配... 查看详情