专栏首页Linyb极客之路如何使用Spring Boot的Profiles

如何使用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配置外部化的灵活。

本文分享自微信公众号 - Linyb极客之路(gh_c420b2cf6b47),作者:JDON

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-08-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Spring Boot配置特定属性spring.profiles

    lyb-geek
  • Java程序员必备的七个日志管理工具

    为了处理日益增长的数据,近年来出现了一大批分析和管理日志的工具,开发和管理人员能够借助这些工具来了解增长的数据。在这篇文章中,我将站在开发者的角度,分析一下这些...

    lyb-geek
  • 并发编程之同步容器类和并发容器类

    一、fail-fast机制 快速报错机制(fail-fast)能够防止多个进程同时修改同一个容器的内容。如果在你迭代遍历某个容器的过程中,另一个进程接入其中,...

    lyb-geek
  • SpringBoot入门建站全系列(二十三)配置文件优先级及常用配置方式

    Spring Boot使用一种非常特殊的PropertySource顺序,旨在允许合理地覆盖值。按以下顺序考虑属性(优先级从高到低):

    品茗IT
  • SpringBoot入门建站全系列(二十三)配置文件优先级及自定义配置文件

    Spring Boot使用一种非常特殊的PropertySource顺序,旨在允许合理地覆盖值。按以下顺序考虑属性(优先级从高到低):

    品茗IT
  • 字体反爬之大众点评

    大众点评的美食评论是大家平时选择吃饭地点的一种参考,通过他人品尝的经验来进行选择。今天就来爬一下大众点评吧~

    老肥码码码
  • 自定义字体

    一般来说,网页上的字体使用的都是我们电脑里面的字体,比如我们常说的微软雅黑、宋体就是 windows 系统自带的字体。所以你可以看到网页的字体一般都比较中规中矩...

    IMWeb前端团队
  • CSS 字体介绍

    选择合适的字体,对提高网页的美观度和可读性有着举足轻重的作用。本文简要介绍了 CSS 中与字体相关的知识。

    Joel
  • 人类不出十年就要和AI成为同事,这六大未来职位要好好把握

    量子位 李林 | 编译自《FuturaCorp》报告 ? 不出十年,无论你从事什么职业,都将与人工智能并肩工作。 ——FutruaCorp FuturaCor...

    量子位
  • 「css基础」关于字体相关的基础知识(一)

    常言道网页设计的好坏,95%取决于字体的排版。尽管现在抖音、小视频和游戏的盛行,其占据了我们大部分的业余时间,但是还是有大部分人在网络上进行阅读,比如查阅资料,...

    前端达人

扫码关注云+社区

领取腾讯云代金券