当前位置: 首页 > news >正文

关于springboot多环境设设置说明

前言:网络上有很多多环境设置过程,尤其springboot2.4前后存在差异。,经过多方评估

config.activate.on-profile和profiles.activate两种激活类型,目前介绍profiles.activate激活方式。

config.activate.on-profile有点不伦不类,个人观点

1..springboot版本信息

<!-- SpringBoot的依赖配置-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>2.5.14</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

2.基于pom配置profiles

<profiles>
    <profile>
        <id>test</id>
        <properties>
            <!-- 环境标识,需要与配置文件的名称相对应 -->
            <profiles.active>test</profiles.active>
            <logging.level>debug</logging.level>
        </properties>
    </profile>
    <profile>
        <id>dev</id>
        <properties>
            <!-- 环境标识,需要与配置文件的名称相对应 -->
            <profiles.active>dev</profiles.active>
            <logging.level>debug</logging.level>
        </properties>
        <activation>
            <!-- 默认环境 -->
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <profiles.active>prod</profiles.active>
            <logging.level>warn</logging.level>
        </properties>
    </profile>
</profiles>
配置完成如下所示: 

3.配置application多环境(过于简单,不详述)复制粘贴

 4.动态配置profiles

4.1application.yml中配置动态获取从pom

spring:
  # 资源信息
  messages:
    # 国际化资源文件路径
    basename: i18n/messages
  profiles:
    active: @profiles.active@

注意:这里有个新手配置特别容易错的选项,不设置resource,会导致application.yml中的@@找不到pom文件中的配置,报错

<build>

<resources>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
    </resource>
</resources>

</bulid>

5.测试

6.结算语

上述设计流程适合真实项目配置,本人亲测版本发布,包括不限于docker,jar等都很适合。

本人测试项目为ruoyi-vueRuoYi-Vue: 🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本

 本人目前重业务处理,此技术文档只为保留研发力,尽个人绵薄之力。

相关文章:

  • 一幅长文细学CSS3
  • P2-Net:用于2D像素与3D点匹配的局部特征的联合描述符和检测器(ICCV 2021)
  • 电磁兼容(EMC)基础(二)
  • 面向终客户和设备制造商的Ethernet-APL
  • React.lazy与Suspence实现延迟加载
  • React 中 memo useMemo useCallback 到底该怎么用
  • git命令
  • Vue的思维导图
  • 【Linux】4.0进程控制
  • 【Python应用】自制截图取词小工具-- 解锁文字识别新姿势
  • MYSQL学习笔记(DDL[数据定义]、DML[数据操作]、DQL[数据查询])
  • SpringCloud学习笔记