每天分享一个Java知识点,码字不易,喜欢的可以关注一波,共同学习
今天的知识点是:Spring-Profile。
1. 开篇
Profile为不同环境下使用不同配置提供了支持(开发环境下的配置和生产环境下的配置肯定是不同的,例如,数据库的配置)。
a. 通过设定Environment的ActiveProfiles来设定当前context需要使用的配置环境。在开发中使用@Profile注解类或者方法,达到在不同环境下选择实例化不同的Bean;
b. 通过设定jvm的spring.profile.active参数来设置配置环境;
c. Web项目设置在servlet的context parameter中。
如下图:
2. 代码演示
a. bean代码:
b. 配置类:
解释:
i. profile为dev时实例化devDemoBean;
ii. profile为pro时实例化proDemoBean。
c. 运行测试类:
配置为pro时
解释:
i. 需要先设置活动的profile;
ii. 后置注册Bean配置类,不然会报Bean未定义的错误;
iii. 刷新容器。
d. 结果显示:
i. context.getEnvironment().setActiveProfiles("pro")结果如下:
ii. context.getEnvironment().setActiveProfiles("dev")结果如下:
网友评论