吊炸天,springboot的多环境配置一下搞明白了!
Posted 香菜+
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了吊炸天,springboot的多环境配置一下搞明白了!相关的知识,希望对你有一定的参考价值。
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的多环境配置一下搞明白了!的主要内容,如果未能解决你的问题,请参考以下文章
吊炸天的 Kafka 图形化工具 Eagle,必须推荐给你!
吊炸天的 Kafka 图形化工具 Eagle,必须推荐给你!