• Spring项目结合Maven【实现读取不同的资源环境】


    📚简介:

           由于我们写功能的不能影响到线上环境的配置,所以每一次增加功能我们都要吧项目部署到测试环境上运行功能是否没问题,测试没问题后再发布线上服务器上。那么我就要每一次都需要修改active的读取配置。

    测试SpringDemo配置如下:
    在这里插入图片描述

    application.yml :主配置用于标识读取那个配置文件
    application-dev.yml:测试环境配置
    application-prod.yml: 线上环境配置

    application-dev.yml配置如下:

    在这里插入图片描述
    application-prod.yml配置如下:
    在这里插入图片描述
    因为是测试项目所以配置只有端口号不同。


    部署环境一变那么每一次都需要修改active的读取配置。

    spring:
      profiles:
        active: dev
    
    • 1
    • 2
    • 3

    通过Maven插件来完成不同环境的切换。

    🍑修改pom.xml

           我们只需要在Maven的pom.xml中添加profiles配置,我们现在需要配置application-dev.yml:测试环境配置和application-prod.yml: 线上环境配置

    设置项目中的pom.xml

        <profiles>
            <profile>
                <!--id名称可以随意声明 一般使用配置名称-->
                <id>dev</id>
                <properties>
                    <!--读取的资源配置-->
                    <spring.active>dev</spring.active>
                </properties>
                <activation>
                    <!--设置默认使用的资源配置-->
                    <activeByDefault>true</activeByDefault>
                </activation>
            </profile>
            <profile>
                <id>prod</id>
                <properties>
                    <spring.active>prod</spring.active>
                </properties>
            </profile>
        </profiles>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    添加处理资源文件的插件

        <build>
       		<!--打包后的名称-->
            <finalName>net-verif</finalName>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
    
                <!--添加处理资源文件的插件 start -->
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <configuration>
                        <delimiters>
                            <delimiter>@</delimiter>
                        </delimiters>
                        <useDefaultDelimiters>false</useDefaultDelimiters>
                    </configuration>
                </plugin>
               <!--添加处理资源文件的插件 end -->
            </plugins>
        </build>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    添加完成后记得刷新maven配置,可以看到我们定义的环境

    在这里插入图片描述

    🥞修改application.yml

    修改application.yml :主配置进行修改,把spring.profiles.active修改成'@spring.active@'

    spring:
      profiles:
        active: '@spring.active@'
    
    • 1
    • 2
    • 3

    🚀 演示:

    1.使用测试环境配置

    在这里插入图片描述

    日志打印:

    可以看出打印的端口号是和测试环境的端口号一致。

    在这里插入图片描述

    2.使用线上环境配置

    在这里插入图片描述

    日志打印:

    可以看出打印的端口号是和线上环境的端口号一致。

    在这里插入图片描述

  • 相关阅读:
    Nginx集群负载均衡配置完整流程
    运放:运放+TL431+MOS 构成的恒流电路
    C语言中常见的面试题
    家居行业EDI:爱室丽Ashley EDI 项目案例
    【Python】Python中变量的类型是动态的,如何优雅获取变量类型?
    vite中将css,js文件归类至文件夹
    苹果笔记本电脑可以玩steam游戏吗 MacBook支持玩steam游戏吗 在Steam上玩黑神话悟空3A大作 苹果Mac怎么下载steam
    第7章 NoSQL数据库技术-单元测验-数据库原理及应用
    js — 原生轮播图的制作
    图论32(Leetcode210课程表2)
  • 原文地址:https://blog.csdn.net/qq_45502336/article/details/128048863