spring根据环境激活不同配置文件的写法

文章介绍了如何通过Spring框架管理不同环境(开发、测试、生产)的配置文件,通过激活不同的application-*.yml文件来适应各个环境的需求,避免了频繁修改同一配置文件的不便。配置包括服务器端口、上下文路径、URI编码、线程数等,并强调子配置文件中不应再包含激活其他文件的配置。
摘要由CSDN通过智能技术生成

需求:

项目有开发环境,测试环境,正式环境,不同的环境,需要不同的配置文件

问题:

如果每次都更改同一个配置文件的内容,需要更改很多配置,比如各种端口,IP,数据库等等,非常麻烦

解决方案:

可以写多个配置文件,通过spring配置激活属性,激活不同的配置文件,这样的话,每次只需要更改一个文件就可以了。

比如我们可以创建4个配置文件。

  1. application.yml(这个必须有,spring启动的时候会读取这个文件,我们配置激活文件的配置,就在这个文件中)

  1. application-dev.yml(开发环境,写法必须是这种格式 application-名字)

  1. application-test.yml(测试环境,写法必须是这种格式 application-名字)

  1. application-prod.yml(生产环境,写法必须是这种格式 application-名字)

接下来看我们的配置文件:

application.yml :总配置文件

spring:
  profiles:
    active: dev #dev指的是激活application-dev.yml配置文件,test指的是激活application-test.yml配置文件,prod指的是激活application-prod.yml配置文件,我们每次需要更改环境的时候,只需要更改这个就可以了

application-dev.yml:开发环境配置文件

# 开发环境配置
server:
  # 服务器的HTTP端口,默认为8080
  port: 19080
  servlet:
    # 应用的访问路径
    context-path: /api
  tomcat:
    # tomcat的URI编码
    uri-encoding: UTF-8
    # 连接数满后的排队数,默认为100
    accept-count: 1000
    threads:
      # tomcat最大线程数,默认为200
      max: 800
      # Tomcat启动初始化的线程数,默认值10
      min-spare: 100

# Spring配置
spring:
  # 资源信息
  messages:
    # 国际化资源文件路径
    basename: i18n/messages
   # 文件上传
  servlet:
    multipart:
      # 单个文件大小
      max-file-size:  10MB
      # 设置总上传的文件大小
      max-request-size:  20MB
  # 服务模块
  devtools:
    restart:
      # 热部署开关
      enabled: true
########。。。。。。等等等等,根据自己的实际需要进行添加

application-test.yml:测试环境配置文件

# 测试环境配置
server:
  # 服务器的HTTP端口,默认为8080
  port: 29080
  servlet:
    # 应用的访问路径
    context-path: /api
  tomcat:
    # tomcat的URI编码
    uri-encoding: UTF-8
    # 连接数满后的排队数,默认为100
    accept-count: 1000
    threads:
      # tomcat最大线程数,默认为200
      max: 800
      # Tomcat启动初始化的线程数,默认值10
      min-spare: 100

# Spring配置
spring:
  # 资源信息
  messages:
    # 国际化资源文件路径
    basename: i18n/messages
   # 文件上传
  servlet:
    multipart:
      # 单个文件大小
      max-file-size:  10MB
      # 设置总上传的文件大小
      max-request-size:  20MB
  # 服务模块
  devtools:
    restart:
      # 热部署开关
      enabled: true
########。。。。。。等等等等,根据自己的实际需要进行添加

application-prod.yml:生产环境配置文件

# 生产环境配置
server:
  # 服务器的HTTP端口,默认为8080
  port: 39080
  servlet:
    # 应用的访问路径
    context-path: /api
  tomcat:
    # tomcat的URI编码
    uri-encoding: UTF-8
    # 连接数满后的排队数,默认为100
    accept-count: 1000
    threads:
      # tomcat最大线程数,默认为200
      max: 800
      # Tomcat启动初始化的线程数,默认值10
      min-spare: 100

# Spring配置
spring:
  # 资源信息
  messages:
    # 国际化资源文件路径
    basename: i18n/messages
   # 文件上传
  servlet:
    multipart:
      # 单个文件大小
      max-file-size:  10MB
      # 设置总上传的文件大小
      max-request-size:  20MB
  # 服务模块
  devtools:
    restart:
      # 热部署开关
      enabled: true
########。。。。。。等等等等,根据自己的实际需要进行添加

特别注意!!!

在子配置文件(application-dev.yml,application-test.yml,application-prod.yml)中,不允许再有激活其它文件的配置!!!

比如在application-dev.yml再配置一个这样的激活配置,这是绝对不允许的,是会报错的:

spring:
  profiles:
    active: druid
在子配置文件中再激活其它配置文件,会报错!会报错!会报错!!!

这种配置,只允许一层,不允许多层!!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值