Spring-boot与maven多环境配置文件设置

本文介绍如何在Spring Boot项目中使用Maven profiles选择不同环境的配置参数。通过创建特定环境的属性文件如application-dev.properties,并在pom.xml中定义profiles,可以实现根据不同环境自动加载对应的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通常在开发时,不同的环境有不同的配置参数,通常会使用maven profile来选择不同环境的配置文件。下面介绍spring-boot项目如何与maven结合,来根据环境选择不通的配置参数。

创建属性配置文件

首先为不同的环境配置不同的属性配置文件,命名需要满足application-{custom_suffix}.properties格式,custom_suffix为自定义后缀,例如生产配置文件起名为application-prod,开发配置文件起名application-dev。其次创建application.properties属性文件。这些文件存放目录为src/main/resources。

application.properties文件用来保存不同环境的公共的配置,及激活最终使用的配置文件。
这里写图片描述

修改pom.xml文件

添加下列配置到pom.xml文件中。下列配置定义了dev环境,与prod环境属性配置。properties标签内部定义的属性标签activatedProperties中的值用来替换后文中@activatedProperties@。

<profile>
    <id>dev</id>
    <properties>
        <activatedProperties>dev</activatedProperties>
    </properties>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
</profile>
<profile>
    <id>release</id>
    <properties>
        <activatedProperties>release</activatedProperties>
    </properties>
</profile>

修改pom.xml build标签

resources部分的作用是,根据maven打包-P参数执行的属性,来对最终属性文件中的参数进行替换。

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

修改application.properties

添加spring.profiles.active=@activatedProperties@ 到application.properties文件中。

最后打包时,@activatedProperties@会根据-P参数被替换为dev或prod,最终application-dev或 application-prod会被作为最终要使用的属性配置文件(根据man -P 参数 确定)。

Spring-boot 1.3后通过@activatedProperties@ 替代${activatedProperties} 来替换属性文件中的参数。

如果有其它属性需要替换,同理修改pom.xml profile中的属性配置即可。

原文地址

http://dolszewski.com/spring/spring-boot-properties-per-maven-profile/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值