zoukankan      html  css  js  c++  java
  • 三、Profile --SpringBoot功能

    一、Profiles

    Spring Profiles提供了一种隔离应用程序配置部分并使之仅在某些环境中可用的方法。 可以使用@Profile标记任何@ Component,@ Configuration或@ConfigurationProperties,以限制其加载时机,如以下示例所示:

    @Configuration(proxyBeanMethods = false)
    @Profile("production")
    public class ProductionConfiguration {
    
        // ...
    
    }
    

    如果@ConfigurationProperties Bean是通过@EnableConfigurationProperties而非自动扫描注册的,则需要在具有@EnableConfigurationProperties注解的@Configuration类上指定@Profile注解。 在扫描@ConfigurationProperties的情况下,可以在@ConfigurationProperties类本身上指定@Profile

    您可以使用spring.profiles.active``Environment属性来指定哪些配置文件处于激活状态。 您可以通过本章前面介绍的任何方式指定属性。 例如,您可以将其包含在application.properties中,如以下示例所示:

    spring.profiles.active=dev,hsqldb
    

    你也可以使用命令行参数:--spring.profiles.active = dev,hsqldb

    1、添加激活的配置文件

    spring.profiles.active属性遵循与其他属性相同的排序规则:最高优先级的PropertySource获胜。 这意味着您可以在application.properties中指定激活的配置文件,然后在命令行参数中替换掉。

    有时,将特定配置文件的属性添加到活动配置文件而不是替换它们是有用的。 spring.profiles.include属性可用于无条件添加活动配置文件SpringApplication入口点还有Java API用于设置其他配置文件(即,在由spring.profiles.active属性激活的配置文件优先级之上)。 请参阅SpringApplication中的setAdditionalProfiles()方法。

    例如,使用参数--spring.profiles.active = prod运行具有以下属性的应用程序时,proddbprodmq配置文件也会被激活:

    ---
    my.property: fromyamlfile
    ---
    spring.profiles: prod
    spring.profiles.include:
      - proddb
      - prodmq
    

    请记住,可以在YAML文档中定义spring.profiles属性,来加载特定的配置文件。

    2、通过程序设置配置文件

    您可以在应用程序运行之前通过调用SpringApplication.setAdditionalProfiles(…)以编程方式设置机号的配置文件。 也可以使用Spring的ConfigurableEnvironment接口来激活配置文件

    3、特定的配置文件

    application.properties(或application.yml)和通过@ConfigurationProperties引用的文件的特定配置文件都被认为已经加载。

  • 相关阅读:
    L1-047 装睡 (10分)
    QT 文件的读写,将txt中的数据存储到QVector
    C++Primer第五版 第十二章 动态内存
    C++Primer第五版 第十一章 关联容器
    从《上瘾》到 《不被干扰》
    MySQL模糊查询用法(正则、通配符、内置函数等)
    MySQL-SQL优化总结
    MySQL中特别实用的几种SQL语句
    public、private、protected 和 default
    DO,DTO,VO,POJO详解
  • 原文地址:https://www.cnblogs.com/ylcc-zyq/p/12600172.html
Copyright © 2011-2022 走看看