Spring Boot Profiles中文文档

本文为官方文档直译版本。原文链接

Spring Boot Profiles中文文档

    • 引言
    • 添加活动配置文件
    • 配置文件组
    • 通过编程设置配置文件
    • 特定的配置文件

引言

Spring Profiles 提供了一种隔离应用程序配置的方法,使其仅在特定环境中可用。任何 @Component@Configuration@ConfigurationProperties 都可以标记为 @Profile,以限制加载环境,如下例所示:

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;@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
如果没有激活配置文件,则会启用默认配置文件。默认配置文件的名称是 default,可使用 spring.profiles.default Environment属性对其进行调整,如下例所示:

spring:profiles:default: "none"

spring.profiles.activespring.profiles.default 只能用于非特定配置文件。这意味着它们不能包含在特定配置文件或由 spring.config.activate.on-profile 激活的文件中。
例如,第二个文件配置无效:

# this document is valid
spring:profiles:active: "prod"
---
# this document is invalid
spring:config:activate:on-profile: "prod"profiles:active: "metrics"

添加活动配置文件

spring.profiles.active 属性遵循与其他属性相同的排序规则: 属性源最高者胜出。这意味着你可以在 application.properties 中指定活动配置文件,然后使用命令行开关替换它们。
有时,添加而非替换活动配置文件的属性也很有用。spring.profiles.include 属性可用于在由 spring.profiles.active 属性激活的配置文件基础上添加活动配置文件。SpringApplication 入口点还有一个用于设置附加配置文件的 Java API。请参见 SpringApplication 中的 setAdditionalProfiles() 方法。
例如,当运行具有以下属性的应用程序时,即使使用 --spring.profiles.active 开关,也会激活commonlocal配置文件:

spring:profiles:include:- "common"- "local"

spring.profiles.active 类似,spring.profiles.include 只能用于非特定配置文件。这意味着它不能包含在特定于配置文件的文件或由 spring.config.activate.on-profile 激活的文件中。

如果某个配置文件处于活动状态,还可以使用下一节所述的配置文件组来添加活动配置文件。

配置文件组

在应用程序中定义和使用的配置文件有时过于细化,使用起来很麻烦。例如,您可能有 proddbprodmq 配置文件,用于独立启用数据库和消息功能。
为了解决这个问题,Spring Boot 允许您定义配置文件组。配置文件组允许您为相关的配置文件组定义一个逻辑名称。
例如,我们可以创建一个由 proddbprodmq 配置文件组成的生产组。

spring:profiles:group:production:- "proddb"- "prodmq"

现在,我们可以使用 --spring.profiles.active=production 来启动应用程序,从而一次性激活productionprodbprodmq 配置文件。

通过编程设置配置文件

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

特定的配置文件

application.properties(或 application.yaml)和通过 @ConfigurationProperties 引用的文件的特定配置文件变体都被视为文件并加载。有关详情,请参阅 “配置文件特定文件”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/229873.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TCP网络编程案例

InetAddress 类 相关方法: getLocalHost:获取本机InetAddress对象。 getByName:根据指定主机名/域名获取ip地址对象。 getHostName:获取InetAddress对象的主机名。 getHostAddress:获取InetAddress对象的地址。 简单使用&am…

【Vue+Mysql实现前端对接数据库】

文章目录 一、安装环境二、axios 封装和配置2.1 文件 src/utils/request.js 代码2.2 ENV 相关环境文件配置2.3 文件 src/api/login.js 代码三、Mysql 配置链接3.1 数据库配置文件 src/server/db.js 代码3.2 后端 node 服务配置文件 src/server/iondex.mjs 代码一、安装环境 Mys…

C语言—每日选择题—Day50

一天一天的更新,也是达到50天了,精选的题有250道,博主累计做了不下500道选择题,最喜欢的题型就是指针和数组之间的计算呀,不知道关注我的小伙伴是不是一直在坚持呢?文末有投票,大家可以投票让博…

[Big Bird]论文解读:Big Bird: Transformers for Longer Sequences

文章目录 1 介绍2 模型架构3 结果 论文:Big Bird: Transformers for Longer Sequences 作者:Manzil Zaheer, Guru Guruganesh, Avinava Dubey, Joshua Ainslie, Chris Alberti, Santiago Ontanon, Philip Pham, Anirudh Ravula, Qifan Wang, Li Yang, Am…

【数据结构】树状数组总结

知识概览 树状数组有两个作用: 快速求前缀和 时间复杂度O(log(n))修改某一个数 时间复杂度O(log(n)) 例题展示 1. 单点修改,区间查询 题目链接 活动 - AcWing本活动组织刷《算法竞赛进阶指南》,系统学习各种编程算法。主要面向…

关于“Python”的核心知识点整理大全24

目录 ​编辑 10.1.6 包含一百万位的大型文件 pi_string.py 10.1.7 圆周率值中包含你的生日吗 10.2 写入文件 10.2.1 写入空文件 write_message.py programming.txt 10.2.2 写入多行 10.2.3 附加到文件 write_message.py programming.txt 10.3 异常 10.3.1 处理 Ze…

c语言实验七

实验1:下列程序的功能是分别求出数组中所有奇数之和以及所有偶数之和。形参n给了数组中数据的个数,利用指针odd返回奇数之和,利用指针even返回偶数之和。例如:数组中的值依次为:1,9,2&#xff0…

es6学习(一):变量声明的方式对比:var,let,const

前言 在let和const出现之前,js可以使用var为变量命令,如果是函数也可以用function命名,甚至你可以直接不用任何关键字命名 var a 1function fn() { }b 2console.log(a)console.log(fn)console.log(b) 结果如下 var的特性 1.window环境下,var在最外层定义的变量会直接赋值给…

【JVM从入门到实战】(八)垃圾回收(1)

内存泄漏:指的是不再使用的对象在系统中未被回收,内存泄漏的积累可能会导致内存溢出 什么是垃圾回收 Java中为了简化对象的释放,引入了自动的垃圾回收(Garbage Collection简称GC)机制。通过垃 圾回收器来对不再使用的…

力扣刷题-二叉树-平衡二叉树

110 平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 返回 true 。 给定二叉树 [1…

音画欣赏|《红尘入戏》

《红尘入戏》 46X68cm 陈可之2023年绘 《秋月》 【宋】朱熹 清溪流过碧山头,空水澄鲜一色秋。 隔断红尘三十里,白云红叶两悠悠。 《白日偶无客青山长对门》其四 【宋】韩淲 人生等戏剧,衮衮徒区区。 老身其回头,今有古非无。 -…

Kafka相关知识

一、kafka架构 Kafka基础知识 Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多生产者、多订阅者,基于zookeeper协 调的分布式日志系统(也可以当做MQ系统),常见可以用于webynginx日志、访问日志,消息服务等等&…

Arma3/武装突袭3东风战役最后一关游戏无法保存的解决办法

Arma3这个游戏玩进去还是非常有可玩性的,可是在玩过了它本体自带的东风系列战役后,在最精髓的最后一关——game over这个关卡,却有个非常头疼的问题。 逃跑其实是非常简单的,但是想要无伤环游全岛确十分困难,因为这关卡…

游戏运行中突然掉线是什么原因导致的

游戏平稳运行的原因只有一个,掉线的原因各有个的不同。这些不同的原因有常见,也有不常见的。但不管出于什么原因的掉线,带来的损失又是相同的。 首先最常见的原因就是攻击造成的 像CC,DDOS。CC会造成服务器资源的浪费&…

超详细教程:使用React实现动态轮播图

前言 轮播组件是常见的一种方式,用来展示图像、信息或者是广告。我们可以使用React来创建一个轮播组件,并且利用其中的State和effect Hook来创建一款动态的、可以自动播放的轮播组件。 效果 轮播组件会展示一个平铺的图片列表。在图片列表下方是一组小…

Missing artifact org.wltea.analyzer:ik-analyzer:jar:5.0

没有找到【org.wltea.analyzer】 找到了【org.wltea.ik-analyzer】 https://github.com/wks/ik-analyzer https://github.com/wks/ik-analyzer.git https://code.google.com/archive/p/ik-analyzer/downloads?page2 C:\Users\Administrator\Desktop\ik-analyzer-master>m…

【Hive_03】单行函数、聚合函数、窗口函数、自定义函数、炸裂函数

1、函数简介2、单行函数2.1 算术运算函数2.2 数值函数2.3 字符串函数(1)substring 截取字符串(2)replace 替换(3)regexp_replace 正则替换(4)regexp 正则匹配(5&#xff…

机器学习---模型评估

1、混淆矩阵 对以上混淆矩阵的解释: P:样本数据中的正例数。 N:样本数据中的负例数。 Y:通过模型预测出来的正例数。 N:通过模型预测出来的负例数。 True Positives:真阳性,表示实际是正样本预测成正样…

自然语言处理阅读第二弹

HuggingFace 镜像网站模型库 NLP中的自回归模型和自编码模型 自回归:根据上文内容预测下一个可能的单词,或者根据下文预测上一个可能的单词。只能利用上文或者下文的信息,不能同时利用上文和下文的信息。自编码:对输入的句子随…

解决Qt UI界面卡顿的优化方法

以下是一些常见的Qt界面卡顿优化方法: 使用多线程:将耗时操作放在后台线程中执行,避免阻塞主线程。减少界面刷新频率:只在必要时进行界面更新,避免频繁的重绘。使用异步加载:对于大量数据的加载,可以采用异步加载的方式,逐步显示数据,减少界面卡顿感。减少布局计算量:…