如何使用Spring Boot的Profiles

Spring提供了@Profile让我们为不同的环境创建不同的配置:例如,假设我们有生产,开发测试等环境。在开发环境中,我们可以启用开发配置文件;在生产环境中我们可以启用生产配置文件等。

我们可以使用profile文件名称创建属性文件:application-{profile}.properties,我们可以使用名为application-dev.properties和application-production.properties的两个文件为开发和生产配置文件配置不同的数据源。

在application-production.properties文件中,我们可以设置MySql数据源:


spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/db
spring.datasource.username=root
spring.datasource.password=root

可以在application-dev.properties文件中为dev配置文件配置相同的属性,以使用内存中的H2数据库


spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:db;DB_CLOSE_DELAY=-1
spring.datasource.username=sa
spring.datasource.password=sa

可以使用属性文件.properties / .yml、命令行和以编程等三种方式激活相应的配置文件。

激活方式:

1. 使用 application.properties属性文件激活 .

spring.profiles.active=dev

2. 使用命令行, 当我们在命令行添加一个活动配置时,将取代属性文件中的活动配置。

java -jar -Dspring.profiles.active=dev myapp.jar

3. 通过编程激活:


@Component
@Profile("dev") //也可以配置成@Profile("!dev")
public class DevDatasourceConfig
..


@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication application = new SpringApplication(MyApplication.class);
application.setAdditionalProfiles("dev");
application.run(args);
}
}

4. 在Spring测试中,使用@ActiveProfiles注释添加活动配置文件。

5. 系统环境激活:

export spring_profiles_active=dev

这是Spring Boot配置外部化的灵活。

原文 

https://www.jdon.com/49850

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 如何使用Spring Boot的Profiles

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址