spring boot 动态切换application-xx.properties配置文件

本文介绍在Spring Boot中如何通过多种方式激活特定的配置文件application-xx.properties,包括在application.properties中设置spring.profiles.active属性,在启动类中使用SpringApplication.setAdditionalProfiles方法,以及在单元测试中使用@ActiveProfiles注解。

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

在spring boot 中如果想使用application-xx.properties配置文件有3中办法

1:在application.properties配置文件中配置spring.profiles.active=xx,xx和application-xx.properties中对应

2:在spring boot启动类中 使用SpringApplication实例的setAdditionalProfiles("xx")来进行设置

3:在spring boot test时可以使用 @ActiveProfiles(value={"xx"})来进行设置,如果想使用动态的可以实现ActiveProfilesResolver接口使用@ActiveProfiles(resolver = ProfilesResolver.class)注解实现

public class ProfilesResolver implements ActiveProfilesResolver {

	@Override
	public String[] resolve(Class<?> testClass) {
		Calendar cal = Calendar.getInstance();
		cal.setTime(new Date());
		int week = cal.get(Calendar.DAY_OF_WEEK) - 1;// 从星期日开始
		if (week < 5 && week > 0) {
			return new String[] { "pro" };
		} else {
			return new String[] { "dev" };
		}
	}
}
spring boot 中@Profile注解也比较常用一般和@Bean,@Configation一起使用,表示在@Profile注解指定的开发环境此bean才注入到springr容器,或者才启用此配置


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值