Spring Boot 03 profile的使用

来源:互联网 发布:java html转义 编辑:程序博客网 时间:2024/05/16 15:45

在开发时,一般情况开发、测试和生产的环境都是不一样的,所以需要不同的配置文件。

配置文件目录:


application-dev.properties

test=dev
application-prod.properties

test=prod
application-test.properties

test=test
激活profile

1、

SpringApplication springApplication = new SpringApplication(App.class);springApplication.setAdditionalProfiles("dev");ConfigurableApplicationContext context = springApplication.run(args);System.out.println(context.getEnvironment().getProperty("test"));
2、使用main方法的arguments参数:--spring.profiles.active=dev(如需要开启多个profile,可以使用“,”隔开)



@Profile注解

ProfileConfig.java

import org.springframework.boot.SpringBootConfiguration;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Profile;@SpringBootConfigurationpublic class ProfileConfig {@Beanpublic User createRunnable1(){System.out.println("===1===");return new User();}@Bean@Profile("dev")public User createRunnable2(){System.out.println("===2===");return new User();}@Bean@Profile("prod")public User createRunnable3(){System.out.println("===3===");return new User();}}
运行
@SpringBootApplicationpublic class App {public static void main(String[] args) {SpringApplication springApplication = new SpringApplication(App.class);springApplication.setAdditionalProfiles("dev");ConfigurableApplicationContext context = springApplication.run(args);System.out.println(context.getEnvironment().getProperty("test"));}}
结果

若是注解在配置类上,则配置类里面的bean容器全部都会生成。


原创粉丝点击