189 8069 5689

吊炸天,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、总结

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

点赞关注是美德

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


标题名称:吊炸天,springboot的多环境配置一下搞明白了!-创新互联
URL标题:http://jkwzsj.com/article/ggjhh.html

其他资讯