springboot利用spring.profiles.active=@spring.active@不同环境下灵活切换配置文件

我们开发当中一般会有多种运行环境,在各种运行环境中配置文件多少有些不同。我们可以利用spring.profiles.active来实现动态加载配置文件。

实现很简单,以springboot+ maven项目为例,走起:

一、创建配置文件

配置文件结构:这里建三个配置文件,application.yml作为主配置文件配置所有共同的配置;-dev和-local分别配置两种环境下的不同配置内容,如数据库地址等。

 application.yml中添加spring.profiles.active配置来动态加载活跃的配置文件:

spring:
  profiles:
    active: "@spring.active@"

@spring.active@有些情况下不需要加双引号,但是如果抱以下错误就可以通过加双引号来解决。

错误信息:

found character ‘@’ that cannot start any token. (Do not use @ for indentation)
....

二、pom文件添加profiles配置

<profiles>
	<profile>
		<id>local</id>
		<properties>
			<spring.active>local</spring.active>
		</properties>
		<activation>
			<activeByDefault>true</activeByDefault>
		</activation>
	</profile>
	<profile>
		<id>dev</id>
		<properties>
			<spring.active>dev</spring.active>
		</properties>
	</profile>
</profiles>

以上配置声明有两种配置文件、分别为dev和local。且默认使用local(通过<activeByDefault>true</activeByDefault>设置的)。

这样配置好的项目在maven中就多了一个配置项:

 

local有灰色对勾√,说明默认使用local。

三、具体应用

1、使用mvn命令打包项目打包时。

  •        mvn clean package 清理并打包命令,默认是使用local配置文件。
  •        mvn clean package -P dev 清理并指定配置文件打包命令,使用dev配置文件。

2、手动打包,通过勾选profiles选项切换配置文件

      maven profiles中勾选dev,然后打包,则使用dev配置文件。

 

 

3、本地启动springboot时,以idea为例。

  • 如步骤2中勾选所需激活的配置文件后,启动application中的main方法则对应加载勾选中的配置文件。
  • 还可以在idea中配置指定加载配置文件,指定后勾选功能失效。方法如下:

 

使用很简单。相信也还有更多的花样可以玩。暂且这些。

 

四、测试类中对profile的配置

测试类上加入以下配置即可制定配置文件,替换dev即可

@ActiveProfiles("dev")

 

 

 

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值