- 由于我们平时在开发中,通常会出现在开发的时候使用一个开发数据库,测试的时候使用一个测试的数据库,而实际部署的时候需要一个数据库。以前的做法是将这些信息写在一个配置文件中,根据环境对配置进行反复修改,非常繁琐。
- 而使用了Profile之后,我们就可以分别定义3个配置文件开发、测试、生产,其分别对应于3个Profile。当在实际运行的时候,只需给定一个参数来激活对应的Profile即可,那么容器就会只加载激活后的配置文件,这样就可以大大省去我们修改配置信息而带来的烦恼
注解 |
说明 |
||||||||||
@Profile |
指定组件在哪个环境的情况下才能被注册到容器中,不指定,任何环境下都能注册这个组件
例如@Prifile("dev")
|
||||||||||
@ActiveProfiles |
激活需要使用的配置环境
|
示例
- TestConfig.java
@Configuration public class TestConfig { @Bean @Profile("dev") public TestBean devTestBean() { return new TestBean("from development profile"); }
@Bean @Profile("pro") public TestBean proTestBean() { return new TestBean("from production profile"); } }
|
- DemoApplicationTests
@SpringBootTest @ActiveProfiles("dev") public class DemoApplicationTests {
@Autowired private TestBean testBean;
@Test public void contextLoads() { String content=testBean.getContent(); System.out.println(content); } } |