SpringBoot配置Profile以及配置文件的加载位置

 2023-09-15 阅读 29 评论 0

摘要:Profile介绍 Profile是Spring在不同环境的使用的时候提供的不同的配置方案,在Spring源码中对于Profile的解析也是放在第一位的。Spring配置解析的时候第一个判断的就是Profile,通过这种方式可以进行快速的参数切换。 1、多个profile文件 在配置文件编写的时候可

Profile介绍

Profile是Spring在不同环境的使用的时候提供的不同的配置方案,在Spring源码中对于Profile的解析也是放在第一位的。Spring配置解析的时候第一个判断的就是Profile,通过这种方式可以进行快速的参数切换。

  • 1、多个profile文件
    在配置文件编写的时候可以通过如下的方式进行设置,设置对应的环境参数就可以使用这个而配置方式。

application-dev.properties、application-prod.properties

  • 2、多profile文档块

在yml配置文件中有一个概念就是文档块,可以通过— 三个短横线来实现这个文档块。

spring:profiles:active: dev
---
spring:profiles:dev
server:port: 8081---
spring:profiles: prod
server:port: 8082
  • 3、激活方式
  • 使用命令行参数的形式 --spring.profile.active=dev
  • 配置文件 spring.profile.active=dev
  • JVM参数 -Dspring.profile.active=dev

配置文件件加载位置

SpringBoot启动的时候时候会扫描默认的application.properties文件或者是application.yml文件,作为全局的配置文件。

  • file:./config/ 文件路径下
  • file:./ 文件路径的当前路径
  • classpath:/config/ 类路径
  • classpath:/ 类路径的根路径

按照以上的优先级顺序从高到低开始加载配置文件,所有的位置都会被扫描一边,优先级高的配置文件会把优先级低的配置文件内容给覆盖掉。

配置文件怎么删除。当然也可以通过下面这种方式来改变配置文件默认位置

spring.config.location=./config

在项目打包完成之后,可以通过命令行参数的形式通过启动想的时候来指定配置文件的新位置;指定文件和加载的配置文件形成了一个互补配置。可以进行功能的扩展。

外部配置文件的加载顺序

加载顺序
这些是来自官方文档的中文翻译

  • 命令行参数
    应用在打包的时候,通过打包完成之后还需要有新的配置,就可以在启动java -jar命令的时候进行新的配置文件的设置。
  • java系统属性
  • 操作系统环境变量
  • 使用RandomValuePropertySource的随机数
  • jar包外部的的application-{profile}.properties配置文件
  • jar包内部的application-{profile}.properties配置那文件
    这个所遵循着从外到内的加载方式,进行加载。
  • jar包外部的application.properties文件
  • jar包内部的application.properties文件
  • 通过@PropertySource进行指定的
  • 通过SpringApplication.setDefaultProperties设置的属性。

优先级从高到低,优先级之间形成一个互补的操作。对于详细的配置加载源,可以参考官方文档进行使用。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/60508.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息