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设置的属性。

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

SpringBoot配置Profile以及配置文件的加载位置相关推荐

  1. SpringBoot_配置-配置文件的加载位置

    springboot文件的加载位置,springBoot在启动的时候,我们会把application.properties,或者application.yml,作为主配置文件,但是他的配置文件位置,既 ...

  2. Springboot 配置文件的加载位置以及优先级和外部配置文件加载的优先级

    配置文件的加载位置: springboot在启动时会扫描以下位置的application.properties文件或者application.yml文件作为springboot默认的配置文件. 项目目 ...

  3. springboot是如何实现配置文件自动加载的呢

    springboot提倡: 约定大于配置 springboot最常见的面试题: 1.springboot是如何实现自动加载配置呢? 2.如何写一个starter呢? 带着问题,我们以mybatis-s ...

  4. Sprin boot 加载位置顺序

    配置文件的加载位置: Spring boot 启动会扫描一下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件: -fil ...

  5. SpringBoot - 配置文件加载位置与优先级

    SpringBoot - 配置文件加载位置与优先级 [1]项目内部配置文件 spring boot 启动会扫描以下位置的application.properties或者application.yml文 ...

  6. 配置文件加载位置||外部配置加载顺序||自动配置原理

    配置文件加载位置 SpringBoot会从这四个位置全部加载主配置文件:互补配置: 外部配置加载顺序 自动配置原理 1.自动配置原理: 1).SpringBoot启动的时候加载主配置类,开启了自动配置 ...

  7. 配置文件加载优先级和外部配置文件加载||IDEA外部配置文件无法加载

    1,项目内部配置文件 spring boot 启动会扫描以下位置的 application.properties 或者 application.yml 文件作为 Spring boot 的默认配置文件 ...

  8. Spring boot配置文件加载位置

    配置文件加载位置 springboot 启动 会扫描以下位置的application.properties 或者application.yml文件,作为Spring boot的默认配置文件 –file ...

  9. SpringBoot如何正确控制bean的加载顺序

    1. 为什么需要控制bean的加载顺序 springboot遵从约定大于配置的原则,极大程度的解决了配置繁琐的问题.在此基础上,又提供了SPI[Service Provider Interface]机 ...

最新文章

  1. 一步一步webpart-webpart如何得到?(2)
  2. BZOJ.2521.[SHOI2010]最小生成树(最小割ISAP/Dinic)
  3. 向app store提交应用时,必须点“ready to upload binary”!
  4. java 根据预览图片上传_JavaSctit 利用FileReader和滤镜上传图片预览功能
  5. ubuntu pip 安装
  6. 使用Apache JMeter负载测试Web应用程序
  7. LeetCode 344. Reverse String
  8. gzp解压命令 linux_Linux下最常用的压缩及解压缩命令
  9. 芒果超媒2021年净利润21亿元 芒果TV会员数达5040万
  10. 蜜雪冰城“骗局”:年赚8亿,竟不是靠卖奶茶?!
  11. FloatingActionButton
  12. 推介英特尔® 黑带软件开发人员!
  13. how to get keyboard key with non blocking in terminal
  14. python爬虫xpath提取数据_Python网络爬虫四大选择器(正则表达式、BS4、Xpath、CSS)总结...
  15. 轻松修复iOS系统的工具:iToolab FixGo mac中文版
  16. (PC+WAP)高等院校学院职业学校类网站源码 政府单位机构协会Pbootcms网站模板
  17. python数据分析与应用-Python数据分析与应用 PDF 内部全资料版
  18. kindle可以看html格式文章吗,Kindle 新功能上线:终于可以显示阅读数据了
  19. matlab 正20面体,求正十二面体和正二十面体的相邻两个表面的二面角大小
  20. 14个面试中常见的概率问题

热门文章

  1. php 5.2.6升级,Centos5.5 简单方法升级php到php5.2.6
  2. seata不兼容mysql8的解决方案
  3. 使用SAFE栈进行F# Web开发
  4. 【转】mybatis 自增主键配置
  5. jQuery:插入,复制,替换和删除节点
  6. 用 TigerVNC 实现 Linux 远程桌面
  7. SQL Servr 2008空间数据应用系列一:空间信息基础
  8. Golang实现简单爬虫框架(5)——项目重构与数据存储
  9. 如何迅速分析出系统CPU的瓶颈在哪里?
  10. Java并发编程实战笔记