您的当前位置:首页正文

关于springboot多环境设设置说明

2024-11-26 来源:个人技术集锦

前言:网络上有很多多环境设置过程,尤其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-vue

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

显示全文