首页 > 其他分享 >Spring Boot加载配置文件的顺序

Spring Boot加载配置文件的顺序

时间:2023-05-16 17:11:30浏览次数:58  
标签:配置文件 spring Boot Spring config 加载

在Spring Boot中,配置文件的加载顺序如下:

1. 配置文件的默认位置:Spring Boot首先尝试加载位于classpath根目录下的`application.properties`或`application.yml`文件作为默认的配置文件。

2. `spring.config.name`属性:如果存在`spring.config.name`属性,Spring Boot会尝试加载与该属性值匹配的文件,无论其扩展名是`.properties`还是`.yml`。例如,如果`spring.config.name=myapp`,则会尝试加载`myapp.properties`或`myapp.yml`。

3. `spring.config.location`属性:如果存在`spring.config.location`属性,Spring Boot会按照该属性指定的路径加载配置文件。可以指定单个文件的路径,也可以指定包含通配符的路径。例如,`spring.config.location=file:/path/to/config/`或`spring.config.location=classpath:/config/*.properties`。

4. 额外的配置文件:Spring Boot会尝试加载额外的特定命名的配置文件,如`application-{profile}.properties`或`application-{profile}.yml`,其中`{profile}`是激活的环境配置文件的名称。例如,如果激活的配置文件是`dev`,则会尝试加载`application-dev.properties`或`application-dev.yml`。

5. 命令行参数:可以使用命令行参数来覆盖已加载的配置。例如,`java -jar myapp.jar --myapp.property=value`。

需要注意的是,配置文件的加载顺序是从上到下依次尝试的,后面的配置会覆盖前面的配置。也就是说,后面加载的配置文件中的属性会覆盖之前加载的配置文件中的同名属性。此外,命令行参数始终具有最高优先级,可以覆盖任何已加载的配置。

通过理解Spring Boot的配置加载顺序,可以更好地管理和控制应用程序的配置,并在不同环境下轻松切换和定制配置。

标签:配置文件,spring,Boot,Spring,config,加载
From: https://www.cnblogs.com/756623607-zhang/p/17406212.html

相关文章

  • spring boot发送http
     publicstatic<T>TdoGet(Stringurl,Class<T>responseType,Map<String,Object>paramMap){    SimpleClientHttpRequestFactoryrequestFactory=newSimpleClientHttpRequestFactory();    requestFactory.setConnectTimeout(1000);  ......
  • Spring源码:Bean生命周期(五)
    前言在上一篇文章中,我们深入探讨了Spring框架中Bean的实例化过程,该过程包括从Bean定义中加载当前类、寻找所有实现了InstantiationAwareBeanPostProcessor接口的类并调用实例化前的方法、进行实例化、调用applyMergedBeanDefinitionPostProcessors方法等多个步骤,最终生......
  • springmvc上传文件——疯狂踩坑
    添加依赖: 配置:注意这里bean的id必须为 multipartResolver 实现:这里需要注意圈起来的地方的名字和文件上传时候的字段名称需要保持一致  测试:这里键名必须为upload和上面那张图中的upload对应publicResultuploadResFile(@RequestParamMultipartFileupload,Ht......
  • SpringBoot优化之项目启动优化
    目录1SpringBoot启动优化1.1背景1.2观察SpringBoot启动run方法1.2.1SpringApplicationRunListener接口1.2.2使用SpringApplicationRunListener监控1.3监控Bean注入耗时1.3.1BeanPostProcessor接口1.4优化方案1.4.1如何解决扫描路径过多1.4.2如何解决Bean初始......
  • spring-transaction源码分析(4)AspectJ和spring-aspects模块
    AspectJ是Java语言实现的一个面向切面编程的扩展库,能够基于一定的语法编写Aspect代码,使用ajc编译器将其编译成.class文件,之后在Java程序编写或加载时将Aspect逻辑嵌入到指定的切面。安装AspectJ下载AspectJ到官网下载安装包:http://www.eclipse.org/downloads/download.php?fil......
  • Spring 3 & jBPM 5 & LocalTaskService
    帖子地址:[url]https://community.jboss.org/thread/195386[/url]HiGuys,IamalsostrugglinginconfigSpring+LocalHumanTask.Iamusing[color=red][b]Spring3.0,JBPM5.4.0.Final,Drools5.5.0.Final[/b][/color]IcanconfigtouseJTA......
  • springboot 整合webservice 相关说明
    1.环境依赖jdk8,springboot2.3.12.release,cxf版本需要根据springboot版本修改,方法:查看springboot版本的发布日期,然后根据日期找相近的两个版本<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><versi......
  • Spring中实现文件上传
    一些问题:springmvc文件上传,使用它的MultipartHttpServletRequest,tomcat中正常,resion中报错[url]http://zhupan.iteye.com/blog/26427[/url]实现图片上传用户必须能够上传图片,因此需要文件上传的功能。比较常见的文件上传组件有CommonsFileUpload(htt......
  • SpringIOC和SpringAOP
    作为一个Spring使用者条件:拥有深入的Spring框架知识和开发经验,能够熟练地运用Spring框架来构建复杂的应用程序。了解Spring框架的核心概念和设计思想,如控制反转(IoC)、依赖注入(DI)、面向切面编程(AOP)等,并能灵活运用这些概念来解决实际问题。熟悉Spring框架中各个模块的功能和用法,如......
  • SpringMVC快速复习(超详细)
    目录一、SpringMVC简介1、什么是MVC2、什么是SpringMVC3、SpringMVC的特点二、HelloWorld1、开发环境2、创建maven工程a>添加web模块b>打包方式:warc>引入依赖3、配置web.xmla>默认配置方式b>扩展配置方式4、创建请求控制器5、创建springMVC的配置文件6、测试HelloWorlda>实现对首......