Spring Boot 2.0.0参考手册_中文版_Part IV_25

标签: spring
778人阅读 评论(0) 收藏 举报
分类:

文章作者:Tyan
博客:noahsnail.com  |  CSDN  |  简书

25. Profiles

Spring Profiles提供了一种隔离部分应用配置的方式,并让这些配置只在特定的环境生效。任何带有@Profile标记的@Component@Configuration在加载时都会受限制:

@Configuration
@Profile("production")
public class ProductionConfiguration {

    // ...

}

以正常的Spring方式,你可以使用spring.profiles.active Environment属性来指定激活哪一个profiles。你可以在任何常见的方式指定这个属性,例如你可以在你的application.properties中包含它:

spring.profiles.active=dev,hsqldb

或在命令行用--spring.profiles.active=dev,hsqldb指定。

25.1 添加激活的profiles

spring.profiles.active属性与其它的属性一样遵循同样的排序规则,最高的PropertySource优先。这意味着你可以在application.properties指定激活的profiles,然后用命令行转换替代它们。

例如,当一个应用具有以下属性且运行时使用--spring.profiles.active=prod转换,proddbprodmq profiles也将被激活:

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

记住可以在YAML文档中定义spring.profiles来决定在配置中包含特定的文档。更多细节请看70.7小节,“根据环境更改配置”。

25.2 以编程方式设置profiles

你可以在你的应用运行之前以编程的方式调用SpringApplication.setAdditionalProfiles(…​)来设置激活的profiles。也可以使用Spring的ConfigurableEnvironment接口来激活profiles。

25.3 指定profile的配置文件

application.properties(或application.yml)和通过@ConfigurationProperties引用的文件的特定profiles变种都被当做文件进行加载。更多细节请看24.4小节,“Profile-specific properties”。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:502393次
    • 积分:8479
    • 等级:
    • 排名:第2547名
    • 原创:314篇
    • 转载:0篇
    • 译文:93篇
    • 评论:83条
    个人简介
    硕士毕业,目前在外企从事Deep Learning相关工作。
    简书
    个人博客
    微信打赏: 微信
    支付宝打赏: 支付宝
    博客专栏
    最新评论