Profile多环境配置以及结合Maven如何使用

一、前言

我们在开发项目的过程中,会遇到需要使用多套环境配置的情况,因为不同环境可能存在不同的配置,比如数据库连接等等,这时候就可以用 profile 来解决

二、如何使用profile多环境配置

2.1、编写各环境的配置文件

我们知道配置文件支持很多格式,这里以 yml 为例,一般来说我们的配置文件会存放在 src/main/resources 目录下,命名为 application.yml,而 profile 需要我们通过不同的命名来区分不同的环境配置,格式为:application-{profile}.yml,举个例子开发环境可以叫:application-dev.yml,测试环境可以叫:application-test.yml,生产环境可以叫:application-pro.yml,我们可以保留住原本的 application.yml 文件,用来放置一些所有环境相同的配置,把不同的配置放置在各自的配置文件里,列个表格:

文件名说明
application.yml存放各环境相同的配置,如端口号等
application-dev.yml存放开发环境的配置,如mysql、redis、mongo等
application-test.yml存放测试环境的配置,如mysql、redis、mongo等
application-pro.yml存放生产环境的配置,如mysql、redis、mongo等

2.2、如何让配置文件生效

只需要在启动项目的时候增加参数 --spring.profiles.active=dev 就可以指定环境

在 IDEA 中,可以在 Environment variables 里填上 spring.profiles.active=dev 就可以了

image-20230801112533065

如果是 SpringBoot 在 Active profiles 里填上 dev 也可以达到一样的效果

image-20230801112606705

当然也可以在 application.yml 文件中设置 spring.profiles.active 参数

image-20230801112858671

三、结合Maven使用

而在 IDEA 中还有个更快速的方式,因为 maven 有一个关于 profile 的配置,而 IDEA 里有专门的 maven 窗口可以用来切换,怎么操作呢?首先在 pom.xml 文件里添加如下代码

<profiles>
	<profile>
		<id>dev</id>
		<activation>
			<activeByDefault>true</activeByDefault>
		</activation>
		<properties>
			<env>dev</env>
		</properties>
	</profile>
	<profile>
		<id>test</id>
		<properties>
			<env>test</env>
		</properties>
	</profile>
	<profile>
		<id>prod</id>
		<properties>
			<env>prod</env>
		</properties>
	</profile>
</profiles>

这里设置了默认是 dev,我这边自定义了一个 env 标签,你也可以按自己的需要去定义,这个标签有什么呢,刚才上面我们有说过可以在 application.yml 文件中设置 spring.profiles.active 参数,这时候我们可以把这个参数改成 @env@,具体如下:

image-20230801135632984

之后就可以在 IDEA 里的 maven 窗口里勾选切换环境了,切换之后重新 import 就可以了

image-20230801140911430

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每天进步亿点点的小码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值