2022-08-30
原文作者:键盘林

@Profile :spring为我们提供的可以根据当前环境,动态的激活和切换一系列组件的功能;

简单来说就是:可以根据不同的开发环境、测试环境、生产环境,实现动态的切换不同的开发环境、测试环境、生产环境;

引入相关ar包

202203062033227701.png

202203062033241002.png

创建配置类MainConfigOfProfile

202203062033258463.png

创建配置文件properties:

202203062033269104.png

202203062033283055.png

将配置文件加载进来

202203062033297646.png

测试环境下的数据源

202203062033310247.png

开发环境下的数据源

202203062033326678.png

生产环境下的 数据源

202203062033346999.png

密码的话我们换一种方式:

测试环境

2022030620333914210.png

开发环境

2022030620334080111.png

生产环境:

对于驱动类Driver我们也可以采用另外一种方式动态获取

2022030620334234412.png

2022030620334375613.png

在bean中分别取上id名

2022030620334552014.png

2022030620334701815.png

2022030620334850916.png

测试打印所有的bean

2022030620334996917.png

运行:

2022030620335151018.png

现在我们根据某种环境来激活某个数据源

Profile注解

2022030620335277819.png

标识可以随意写

2022030620335465020.png

2022030620335612221.png

2022030620335756522.png

注意:一但加了环境标识的bean,只有这个环境被激活的时候才能注册到容器中,默认是default环境。

使用方法:

1.使用命令行动态参数:在虚拟机参数位置加载 -Dspring.profiles.active=test

2.代码方式设置环境:

2022030620335887923.png

注意:@Profile还可以写到类上,简单来说就是当处于当前这个激活环境的情况下才加载该bean。

2022030620340096024.png

阅读全文