spring 环境切换

用了很多年的spring,却发现只会用spring 的  ioc。

换了一个项目,发现竟然不用来回切换测试环境和正式环境,很纳闷,就先把这个问题记在那。就在昨天听颜群老师的spring课程的时候,听到了环境切换这一章节,然后一举探索了我们项目里的环境切换。做开发的都能理解,搞明白一个问题后的哪种激动和喜悦,于是乎大半夜12点,我在屋里唱起了歌,哈哈哈哈哈哈哈。

因为配置文件用的太久了,或者说现在基本都用注解了。所以我选听的课程都是注解相关的。颜群老师讲解环境切换,是讲了两种方式,一种是方法上加@Profile,另一种是纯粹代码方式的。代码方式先不提,@Profile这个借助于idea做的测试。

我查了一下,找到了这篇文章:https://www.cnblogs.com/bigbigbigo/p/8367958.html。文章的博主是在web.xml中激活对应的profile,但是我们项目里并没有。我猜测是tomcat。一系列百度,最后验证了果真是tomcat。

总结一下配置文件 ,还有方法注解。

spring配置文件,在<beans profile="test"></beans> 、<beans profile="prod"></beans>,然后在tomcat的配置文件catalina.sh中,测试环境:JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=test",正式环境:JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=test"。这个:spring.profiles.active来指定激活环境 。如果没有指定激活环境,只创建那些未对应环境的bean,指定了激活环境后,指定哪个环境,就激活哪个环境的bean

或者是@Profile注解,

@Profile("testProfile")

@Bean

public Environment testEnvironment(){} 

 

@Profile("prodProfile")

@Bean

public Environment prodEnvironment(){} 

同样是如果未指定激活环境,只创建那些未标识环境的bean。如果指定了激活环境,指定哪个就创建哪个bean。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值