Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >spring.profiles.active 和 spring.profiles.include 的区别

spring.profiles.active 和 spring.profiles.include 的区别

原创
作者头像
安宁
修改于 2020-07-09 06:28:53
修改于 2020-07-09 06:28:53
5K00
代码可运行
举报
运行总次数:0
代码可运行

spring.profiles.activespring.profiles.include 有什么区别呢?笔者认为主要是语意上的区别,实际使用效果相同。假设,项目有 2 种环境:dev、prod,我们选择激活其中一种;其中涉及到 3 种组件:https、mysql、log,我们根据环境选择包含一个或多个。active 的构件被认为是与环境有关的,include 的构件被认为是与环境无关的。使用示例如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#每种环境都使用 mysql
spring.profiles.include: mysql
db.schema: db
---
#开发环境
spring.profiles: dev

db:
  hostname: localhost
  username: dev
  password: dev
  
---
#生产环境
spring.profiles: prod

spring.profiles.include: https,log

db:
  hostname: company.com
  username: prod
  password: prod
  
---
spring.profiles: mysql
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://${db.hostname}:3306/${db.schema}
    username: ${db.username}
    password: ${db.password}

---
#默认使用 http 协议,包含此项使用 https 协议
spring.profiles: https

server:
  ssl:
    key-store: file://${user.home}/peacetrue.cn.jks
    key-alias: peacetrue.cn
    key-store-password: password

---
#默认输出到控制台,包含此项输出到文件
spring.profiles: log

logging.file.name: logs/root.log

在实际启动项目时,执行 java -jar app.jar --spring.profiles.active=dev 或者 java -jar app.jar --spring.profiles.include=dev 是等效的,可以在控制台看到输出的日志都是:The following profiles are active: dev

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Spring Cloud 微服务(三) :项目简介
本项目源码放在 Github 上,可以检出后查看;如果想在本地运行,需要检出与本项目配套的 远程仓库。
安宁
2020/07/17
8610
springBoot 入门(二)—— 使用 spring.profiles.active来区分配置
很多时候,我们项目在开发环境和生成环境的环境配置是不一样的,例如,数据库配置,在开发的时候,我们一般用测试数据库,而在生产环境的时候,我们是用正式的数据,这时候,我们可以利用profile在不同的环境下配置用不同的配置文件或者不同的配置。
MickyInvQ
2020/09/27
16.4K0
springBoot 入门(二)—— 使用 spring.profiles.active来区分配置
Spring Boot 2.4版本前后的分组配置变化及对多环境配置结构的影响
前几天在《Spring Boot 2.4 对多环境配置的支持更改》一文中,给大家讲解了Spring Boot 2.4版本对多环境配置的配置变化。除此之外,还有一些其他配置变化,所以今天我们就继续讲讲其他的更新内容! spring.profiles.include对于这个配置项,你是否熟悉呢?从字面意思也不难理解,应该就是用来引入一些其他配置的配置(因为有个include嘛),实际作用也确实如此! 当我们的应用有很多配置信息的时候,比如当用到了很多中间件MySQL、Redis、MQ等,每个中间件的配置都是一大
程序猿DD
2023/04/04
6350
Spring Boot 2.4版本前后的分组配置变化及对多环境配置结构的影响
Spring Boot - Profile不同环境配置
Profile是什么 Profile我也找不出合适的中文来定义,简单来说,Profile就是Spring Boot可以对不同环境或者指令来读取不同的配置文件。 Profile使用 假如有开发、测试、生产三个不同的环境,需要定义三个不同环境下的配置。 基于properties文件类型 你可以另外建立3个环境下的配置文件: applcation.properties application-dev.properties application-test.properties application-prod
Java技术栈
2018/03/30
1.4K0
Spring Boot - Profile不同环境配置
springboot中spring.profiles.include的妙用
我们有这样的一个springboot项目。项目分为开发、测试、生产三个不同阶段(环境),每个阶段都会有db、ftp、redis等的不同配置信息。我们可以使用spring.profiles.include来实现三种不同环境的一键切换。
用户7741497
2022/08/05
1.4K0
Spring Boot 之 Profile 使用
在 applcation.properties 文件中可以通过以下配置来激活 profile:
静默虚空
2018/12/27
8470
是时候为Spring Boot 3.0做准备了
2018年2月28日Spring Boot进入2.0时代,距今已经超过4年了。2022 年11月Spring Boot 3.0将正式发布,它将基于Spring Framework 6.0,并且需要 Java 17 或更高版本,同时它也将是Jakarta EE 9的第一个Spring Boot版本。还有六个月的时间留给开发者来过渡到Spring Boot 3.0,今天胖哥将告诉你一些方法,以便于将来快速迁移到3.0。
码农小胖哥
2022/09/30
1.8K0
Spring Cloud Config 高级功能(一)
Spring Cloud Config 是一个分布式配置管理工具,能够为应用程序提供集中式的、动态的、可扩展的配置管理服务。在此基础上,Spring Cloud Config 还提供了一些高级功能,以更好地满足企业级应用的需求。本文将详细介绍 Spring Cloud Config 的高级功能,并提供相应的示例。
堕落飞鸟
2023/04/06
3090
微服务架构之Spring Boot(二十九)
@Value 注释是核心容器功能,它不提供与类型安全配置属性相同的功能。下表总结了 @ConfigurationProperties 和 @Value 支持的功能:
用户1289394
2022/04/07
4420
微服务架构之Spring Boot(二十九)
Spring Boot配置特定属性spring.profiles
SpringBoot能使用application- {你的自定义profile名称myProfileName} .properties模式添加任何你指定配置文件到其属性文件。 要加载特定的配置文件属性文件,我们可以使用命令行选项-Dspring.profiles.active = myProfileName。 缺省默认SpringBoot是加载application.properties,无需任何-Dspring.profile.active选项,或使用-Dspring.profiles.active =
lyb-geek
2018/12/19
2K0
Spring Boot 2.0.0参考手册_中文版_Part IV_25
Spring Profiles提供了一种隔离部分应用配置的方式,并让这些配置只在特定的环境生效。任何带有@Profile标记的@Component或@Configuration在加载时都会受限制:
Tyan
2019/05/25
7640
如何使用Spring Boot的Profiles
Spring提供了@Profile让我们为不同的环境创建不同的配置:例如,假设我们有生产,开发和测试等环境。在开发环境中,我们可以启用开发配置文件;在生产环境中我们可以启用生产配置文件等。 我们可以使用profile文件名称创建属性文件:application-{profile}.properties,我们可以使用名为application-dev.properties和application-production.properties的两个文件为开发和生产配置文件配置不同的数据源。 在applicati
lyb-geek
2018/09/27
1.3K0
Spring Boot 2.4.0 发布,配置文件重大调整,不要乱升级!!
前段时间 Spring Boot 2.4.0 发布了,栈长作了一个新特性全盘解读,其中介绍了一个很重要的变革,那就是配置文件。
Java技术栈
2020/12/08
1.4K0
Spring Boot 2.4 配置文件将加载机制大变化
Spring Boot 2.4.0.M2 刚刚发布,它对 application.properties 和 application.yml 文件的加载方式进行重构。如果应用程序仅使用单个 application.properties 或 application.yml 作为配置文件,那么可能感受不到任何区别。但是如果您的应用程序使用更复杂的配置(例如,Spring Cloud 配置中心等),则需要来了解更改的内容以及原因。
冷冷
2020/10/12
1.6K0
补习系列(10)-springboot 之配置读取
在早前的博客中曾经写过 Spring 程序通过 Bean 映射实现配置信息的读取。 在SpringBoot 框架中读取配置的方式变得非常多样,这导致读者在搜寻资料时反而容易迷糊。
美码师
2019/01/23
1.3K0
Spring Boot 2.0 教程 - 配置详解
Spring Boot 可以通过properties文件,YAML文件,环境变量和命令行参数进行配置。属性值可以通过,@Value注解,Environment或者ConfigurationProperties注入到应用中。 配置的优先级如下:
代码拾遗
2018/07/24
7300
SpringBoot和SpringCloud版本对应
官网版本对应地址:https://start.spring.io/actuator/info
杨校
2022/12/07
2.1K0
【详解】SpringBootLogBack日志配置与多环境实战
在现代软件开发中,日志记录是不可或缺的一部分。它不仅帮助我们了解应用程序的运行状态,还可以在出现问题时提供重要的调试信息。Spring Boot 提供了多种日志框架的支持,其中 Logback 是一个非常流行的选择,因为它简单、高效且功能强大。本文将介绍如何在 Spring Boot 项目中配置 Logback,并实现不同环境下的日志配置。
大盘鸡拌面
2025/01/14
2.1K0
解决微服务profile遇到的问题1. profile之Maven2. profile之Spring boot3. config server的配置4. 总结
最近遇到Spring-boot的多个profile切换问题,需求是这样的:微服务中引入了Spring Cloud Config,服务启动的时候,从Config Server中读取该实例对应的配置信息。本地开发环境可能使用的profile是default,到了集成测试环境就需要切换到jenkins,到了预发布环境又变成了prod。多个profile需要之间可以切换。 这边设置的时候还走了点弯路,先是探索了一遍pom的profile,后来才到Spring-boot的配置文件。 这两部分实现的功能不太一样,本文将
Java架构
2018/05/04
1.4K0
解决微服务profile遇到的问题1. profile之Maven2. profile之Spring boot3. config server的配置4. 总结
SpringCloud入门之Spring Boot多环境配置切换指南
在 spring boot 中,有两种配置文件,一种是application.properties,另一种是application.yml,两种都可以配置spring boot 项目中的一些变量的定义,参数的设置等。
jack.yang
2025/04/05
2500
相关推荐
Spring Cloud 微服务(三) :项目简介
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档