springboot 配置文件、多环境配置、运行优先级

前言

提问:springboot项目,开发环境、测试环境和生产环境配置文件如何分开表示?

答:多profile文件方式

1、多环境配置(profile)

1.1、properties文件配置

application.properties:主配置文件
主配置文件配置决定加载哪个环境的配置文件

  spring.profiles.active=dev

根据spring.profiles.active值,选择加载不同环境配置

application-{profile}.properties

开发、测试、生产环境配置文件:

  • application-dev.properties:开发环境配置文件
  • application-test.properties:测试环境配置文件
  • application-prod.properties:生产环境配置文件

1.2、YML文件配置

application.yml:主配置文件
主配置文件配置决定加载哪个环境的配置文件

  spring:
      profiles:
          active:dev

根据spring.profiles.active值,选择加载不同环境配置

application-{profile}.yml

开发、测试、生产环境配置文件:

  • application-dev.yml:开发环境配置文件
  • application-test.yml:测试环境配置文件
  • application-prod.yml:生产环境配置文件

1.3、修改主配置文件切换配置

1.3.1、切换生产配置

#默认配置
server:
  port: 8080
#切换配置
spring:
  profiles:
    active: prod

1.3.2、切换开发配置

#开发环境配置
server:
  port: 8080
#切换配置
spring:
  profiles:
    active: dev

1.3.3、切换测试配置

#测试环境配置
server:
  port: 8080
#切换配置
spring:
  profiles:
    active: test

1.4、命令行激活配置文件

1.4.1、命令行激活配置文件

java -jar springboot-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev

1.4.2、虚拟机参数激活

java -Dspring.profiles.active=dev -jar springboot-0.0.1-SNAPSHOT.jar

2、默认配置文件

Spring Boot 启动时会扫描以下 5 个位置的 application.properties 或 apllication.yml 文件,并将它们作为 Spring boot 的默认配置文件。

  • file:./config/*/
  • file:./config/
  • file:./
  • classpath:/config/
  • classpath:/

2.1、file

指当前项目根目录;

2.2、classpath

指当前项目的类路径,即 resources 目录。
注意事项:

  • 位于相同位置的 application.properties 的优先级高于 application.yml
  • 所有位置的文件都会被加载,高优先级配置会覆盖低优先级配置,形成互补配置,即:
    • 存在相同的配置内容时,高优先级的内容会覆盖低优先级的内容;
    • 存在不同的配置内容时,高优先级和低优先级的配置内容取并集。

3、外部配置文件

可通过指定外部配置文件的路径(默认配置文件失效)

3.1、spring.config.location

  java -jar xxxx.jar --spring.config.location=外部文件

3.2、spring.config.additional-location

默认配置文件公共生效,其优先级是最高。

 java -jar xxxx.jar --spring.config.additional-location=外部文件
案例

4、配置文件优先级

以下是常用的 Spring Boot 配置形式及其加载顺序(优先级由高到低):

  • 命令行参数
  • 配置文件(YAML 文件、Properties 文件)
  • @Configuration 注解类上的 @PropertySource 指定的配置文件
  • 通过 SpringApplication.setDefaultProperties 指定的默认属性

配置文件
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于html+css的between布局

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

【算法系列之动态规划IV】完全背包

完全背包 解题思路 01背包的核心思路&#xff0c;为了保证每个物品仅被添加一次&#xff0c;01背包内嵌的循环是从大到小遍历。 for(int i 0; i < weight.size(); i) { // 遍历物品for(int j bagWeight; j > weight[i]; j--) { // 遍历背包容量dp[j] max(dp[j], dp…

【云原生】k8s集群命令行工具kubectl之应用部署命令详解

kubectl应用部署命令详解一、准备工作1.1、Replication Controller1.2、Deployment1.3、DaemonSet1.4、查看创建的svc和pod1.5、kubectl 命令自动补全设置二、应用部署命令2.1、diff2.2、apply2.3、replace2.4、rollout2.4.1、history2.4.2、pause2.4.3、resume2.4.4、restart2…

Java 常量池分析

Java常量池 常量池&#xff1a;存放所有常量 常量池是Class文件中内容最为丰富的区域。常量池对于Class文件中的字段和方法解析也有着至关重要的作用。 随着Java虚拟机的不断发展&#xff0c;常量池的内容也日渐丰富。可以说&#xff0c;常量池是整个Class文件的基石。 在版…

HMC717ALP3E-ASEMI代理ADI(亚德诺)车规级芯片HMC717ALP3E

编辑-Z HMC717ALP3E参数描述&#xff1a; 频率范围&#xff1a;4.8 - 6.0GHz 增益&#xff1a;12.5dB 噪声系数&#xff1a;1.3dB 输入回波损耗&#xff1a;8dB 输出回波损耗&#xff1a;13dB 1 dB压缩的输出功率&#xff08;P1dB&#xff09;&#xff1a;12dBm 饱和输…

2023首届大学生算法大赛 - 村庄

读题可以发现&#xff0c;如果两个村庄不能互相连通&#xff0c;那就算作一对 &#xff08;a<b&#xff09;。 显然是可以用floyd全局多源最短路来做的&#xff0c;如果不存在最短路&#xff0c;那么就是不能互通&#xff0c;但是这道题的数据范围N<10^5&#xff0c;跑f…

SpringCloud之Eureka原理分析与实战(注册与发现)

目录 1、从本质理解服务治理思想 2、为什么选择Spring Cloud服务治理组件 3、Spring Cloud Eureka服务发现 3.1 Eureka的优势 3.2 Eureka架构组成 3.3 搭建Eureka Server 实战 3.3.1 添加依赖 3.3.2 开启服务注册 3.3.3 添加YML配置 3.3.4 访问服务 3.4 搭建Eureka …

IT服务商服务运营方案--PIGOSS BSM +TOC 服务加工具的新型运维模式

该解决方案适用于各种数据中心端专业运维服务商&#xff0c;包括驻场服务商&#xff0c;MA服务商&#xff0c;ITO服务商&#xff0c;IDC服务商&#xff0c;云运维服务商等 PIGOSS 是专业服务商的共同选择 专业的服务团队离不开专业的技术平台和技术工具&#xff0c;PIGOSS TOC…

echarts柱状图

1、先展示效果图 2、直接上代码&#xff0c;copy代码进行调试便会懂&#xff08;导入echarts插件看之前的文章&#xff09; <template><div class"antigen-container"><div class"top-content"><span class"top-title"&g…

电商商品详情API接口,python请求示例说明

PC端商品详情接口&#xff0c;H5商品详情接口&#xff0c;APP商品详情接口&#xff0c;商品详情接口&#xff0c;商品销量接口&#xff0c;商品列表接口&#xff0c;商品属性接口&#xff0c;商品sku接口&#xff0c;商品评论接口&#xff0c;商品优惠价接口&#xff0c;商品历…

求职咨询Job Information

前言 加油 原文 求职咨询常用会话 ❶ I want to apply for a job which enables me to use my major. 我想要申请一个能用到我的专业知识的职业。 ❷ I have the capability of operating the computer. 我有操作电脑的能力。 ❸ My dream is to be an excellent interpret…

ts基础内容

javascript脚本语言简称ts为javascript进阶脚本语法 TypeScript是微软开发的一个开源的编程语言&#xff0c;通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编译器或Babel转译为JavaScript代码&#xff0c;可运行在任何浏览器&#xff0c;任何操…

Python 字符串格式化高级用法

字符串格式化: 是在编程过程中&#xff0c;允许编码人员通过特殊的占位符&#xff0c;将相关对应的信息整合或提取的规则字符串。 python字符串格式化字符串的格式化常用的三种方式&#xff0c;分别是使用 %格式化&#xff0c;format方法格式化&#xff0c;fstring格式化。 传…

元数据管理概述

参考公众号文章&#xff1a;数据治理&#xff1a;元数据及元数据管理策略、方法和技术

走进小程序【一】什么是小程序?

文章目录&#x1f31f;前言&#x1f31f;发展史&#x1f31f;什么是[微信小程序](https://developers.weixin.qq.com/miniprogram/dev/framework/)&#xff1f;&#x1f31f;微信小程序能做什么&#xff1f;&#x1f31f;小程序发展前景和优势&#x1f31f;写在最后&#x1f31…

应用层 —— HTTPS协议

目录 1、HTTPS介绍 HTTP 与 HTTPS "加密" 是什么 常见的加密方式 对称加密 非对称加密 数据摘要 && 数据指纹 数字签名 2、HTTPS的工作过程探究 方案1 —— 只使用对称加密&#xff08;明文传输不可取&#xff09; 方案2 —— 只使用非对称加密&#xff08…

【探花交友】day02—完善个人信息

目录 1、完善用户信息 1.1、阿里云OSS 1.2、百度人脸识别 1.3、保存用户信息 1.4、上传用户头像 2、用户信息管理 2.1、查询用户资料 2.2、更新用户资料 3、统一token处理 3.1、代码存在的问题 3.2、解决方案 3.3、代码实现 4、统一异常处理 4.1、解决方案 4.2、…

「从零入门推荐系统」14:推荐系统冷启动

作者 | gongyouliu编辑 | gongyouliu作者在第2章《推荐系统基础介绍》中讲述推荐系统面临的挑战时提到冷启动是推荐系统的重要挑战之一。冷启动问题是推荐系统工程实践中非常重要的一个问题&#xff0c;只有解决好冷启动问题&#xff0c;推荐系统的用户体验才会更好。有很多读者…

首届“兴智杯”产业赛收官,文心大模型助推产业创新

由工业和信息化部、科学技术部、深圳市人民政府共同主办&#xff0c;中国信通院等单位承办的首届“兴智杯”全国人工智能创新应用大赛圆满收官。本次大赛受到国家部委、政府机构、科技企业、高校师生等社会各界密切关注。为了进一步激发创新活力&#xff0c;促进人工智能核心技…