005 profile

一 .概述

  在我们之前的属性文件之中有一个问题,就是我们在开发和测试环境下需要不断的修改属性文件.

  在springboot为了解决这个问题,提供了profile的方式解决这个问题.


二 .演示

  我们首先创建三个配置文件,分别是application.properties,application-dev.properties,application-test.properties.

这三个配置配置文件分别代表总配置文件,开发环境和测试环境.

  我们看看里面的内容:

application.properties

spring.profiles.active=dev

application-dev.properties

server.port=8888

application-test.properties.

server.port=9999

上面的配置信息表示开启dev的环境,现在我们启动项目看看端口号是多少.  

我们发现是8888.然后,我们修改激活test环境.

  我们发现现在端口就变成了9999.


 三. 通过profile环境注入不同的bean ,使用@Profile  

@Configuration
public class ProfileConfig {

    @Bean("username")
    @Profile("dev")
    public String usernameDEV() {
        return "dev";
    }

    @Bean("username")
    @Profile("test")
    public String usernameTEST() {
        return "test";
    }
}

上面的内容表示,我们在dev环境下注入dev,在test环境下注入test.

  我们下面进行测试:  

@SpringBootTest(classes = SpringbootRunnerClass.class)
@RunWith(SpringRunner.class)
public class ProfileTest {

    @Autowired
    @Qualifier("username")
    private String username;

    @Test
    public void test() {
        System.out.println(username);
    }
}

我们通过修改激活状态,来激活不同的配置.我们发现现在我们通过profile属性来切换不同的配置了.


 四 .最佳实践

  通过上面的方式,我们了解到如何通过profile来完成环境的切换.

  那么,我们一般会将公共的属性方式在总配置文件,将不同的配置放在其他的属性文件之中,这样,我们就能通过切换激活状态来完成项目整体的配置信息的切换.  

 

posted @ 2018-10-03 11:37  最爱五仁月饼  阅读(125)  评论(0编辑  收藏  举报