spring.profiles.active=@profiles.active@用法

本文共 2,366 字,预计阅读时间 8 分钟

 


1.引言

当在多配置文件中,需要切换配置文件时,通常的做法都是修改激活的文件名称,而spring.profiles.active=@profiles.active@ 是配合 maven profile进行选择不同配置文件进行启动,可以避免修改文件,而在maven打包是指定使用哪个配置文件。

2.实战演练

2.1环境准备

首先使用IDEA创建一个SpringBoot的项目

2.2配置pom

假设目前有三个环境dev、test和prod,那么需要在pom.xml进行配置:

复制代码
 <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
 </build>
 <profiles>
        <profile>
            <!-- 本地开发环境 -->
            <id>dev</id>
            <properties>
                <profiles.active>dev</profiles.active>
            </properties>
            <activation>
                <!-- 是否默认激活 -->
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <!-- 测试环境 -->
            <id>test</id>
            <properties>
                <profiles.active>test</profiles.active>
            </properties>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
        </profile>
        <profile>
            <!-- 生产环境 -->
            <id>prod</id>
            <properties>
                <profiles.active>prod</profiles.active>
            </properties>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
        </profile>
    </profiles>    
复制代码

上述默认使用dev配置。配置后需要点击刷新按钮来刷新maven,然后会看到如下的几种选择:

2.3创建配置文件(properties类型)

首先创建application.properties文件,其内容为:

spring.profiles.active=@profiles.active@

创建application-dev.properties:

server.port=8888

创建application-test.properties:

server.port=9999

创建application-prod.properties:

server.port=8080

启动项目,查看控制台启动日志,启动端口是8888,然后关闭。

在Propfiles中勾选test,取消勾选dev,再启动项目,此时启动端口是9999,其他环境同理,打包也是类似的方式。

注意:若切换时还是使用上一次环境或报错,那么需要刷新一下maven再重启项目。

 若是maven命令打包,其方式如下:

mvn clean package -P prod

 使用-P指定使用的配置文件即可。无论是自动打包还是使用maven命令打包,最终的环境名称会配置给application.properties中,即:

spring.profiles.active=prod //这里假设是prod环境打包的

也就是说,免去了频繁修改配置文件的操作。

2.4创建配置文件(yml类型)

当然还有另一种yml方式配置,目前在使用时发现有问题,待更新!

 

posted @   钟小嘿  阅读(4858)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2020-06-26 easyPOI基本用法
点击右上角即可分享
微信分享提示