• 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.使用线上环境配置

    在这里插入图片描述

    日志打印:

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

    在这里插入图片描述

  • 相关阅读:
    数据结构与算法基础(王卓)(3)
    Windows 10 + Jenkins 2.4 安装插件时https 的证书问题及解决
    17.Composition API(三)高级语法补充
    Python算法——二叉树遍历
    二、nginx URL重写[rewrite]
    《UnityShader入门精要》学习3
    Linux搭建zookeeper与kafka集群配置
    windows查看连接过wifi的密码
    Go结构体深度探索:从基础到应用
    【Python刷题篇】——Python入门 09 字典(上)
  • 原文地址:https://blog.csdn.net/qq_45502336/article/details/128048863