首页 > 其他分享 >springboot项目打成jar包后 ,配置文件加载的优先级顺序

springboot项目打成jar包后 ,配置文件加载的优先级顺序

时间:2023-04-15 16:11:07浏览次数:37  
标签:包后 springboot 配置文件 Boot classpath myapp config 加载

Spring Boot会按照以下顺序来加载配置文件:

1、内置默认值:Spring Boot会首先加载内置的默认值,这些默认值定义在Spring Boot的代码中,例如,内置的默认端口号为8080。

2、应用级别的配置文件:Spring Boot会从以下位置加载应用级别的配置文件,这些位置按照优先级逐一检查:

当前目录下的/config文件夹。
当前目录。
classpath下的/config包。
classpath根目录。
例如,如果应用的名称为"myapp",则Spring Boot会尝试加载以下文件:

./config/myapp.properties
./config/myapp.yml
./myapp.properties
./myapp.yml
classpath:/config/myapp.properties
classpath:/config/myapp.yml
classpath:/myapp.properties
classpath:/myapp.yml
3、项目级别的配置文件:Spring Boot会从以下位置加载项目级别的配置文件,这些位置按照优先级逐一检查:

当前目录下的/config文件夹。
当前目录。
classpath下的/config包。
classpath根目录。
例如,如果应用的名称为"myapp",则Spring Boot会尝试加载以下文件:

./config/application.properties
./config/application.yml
./application.properties
./application.yml
classpath:/config/application.properties
classpath:/config/application.yml
classpath:/application.properties
classpath:/application.yml

4、命令行参数:Spring Boot会加载命令行中指定的任何属性值,这些属性值会覆盖之前加载的任何属性值。例如,通过在命令行中指定--server.port=9090可以覆盖默认的8080端口号。

注意:加载优先级逐一降低,即优先级高的配置文件会覆盖优先级低的配置文件中的属性值。因此,应用级别的配置文件会覆盖项目级别的配置文件中的属性值,而命令行参数会覆盖所有其他位置的属性值。

标签:包后,springboot,配置文件,Boot,classpath,myapp,config,加载
From: https://www.cnblogs.com/llp2333/p/17321306.html

相关文章

  • SpringBoot配置了数据库依赖 报错: Failed to configure a DataSource: 'url' attrib
    错误2023-04-1511:56:16.025INFO12028---[restartedMain]ConditionEvaluationReportLoggingListener:ErrorstartingApplicationContext.Todisplaytheconditionsreportre-runyourapplicationwith'debug'enabled.2023-04-1511:56:16.060E......
  • Springboot-2
    1.springboot自动装配原理1.1springboot包扫描原理包建议放在主类所在包或者子包。默认包扫描的是主类所在的包以及子包。主函数运行时会加载使用@SpringBootApplication标记的类,-->包含@SpringBootApplication-->@EnableAutoConfiguration-->@AutoConfigurationPackage--......
  • springboot连接不同数据库的写法
    MySQL当url连接不指定/数据库名可以访问到mysql服务器上有权限的任何库,但是所有sql需要加上库名前缀.pom<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency>配置spring:datasource:driver-class-n......
  • SpringBoot 集成 MybatisPlus 九——逻辑删除
    1逻辑删除的概念逻辑删除不会在数据库中删除数据,只是通过一个字段用来标识被删除的记录,数据仍然保存在数据库中。在实际的工作当中,因为数据非常重要,为了防止因用户误操作删除数据后无法恢复的问题,我们通常不会对数据做物理删除,即将数据从数据库中直接删除。而是多采用逻辑删除的方......
  • SpringBoot常用注解
    本文整理了SpringBoot常用注解,主要讲解这些注解的用法,并附上一致思维导图。SpringBoot常用注解组件相关注解@Controller用于修饰MVC中controller层的组件,SpringBoot中的组件扫描功能会识别到该注解,并为修饰的类实例化对象,通常与@RequestMapping联用,当SpringMVC获取到请求时......
  • 批量给mycat配置文件增加数据库节点
    #!/bin/bash#修改mysqlschemamycat_schema_file=/opt/mycat/conf/schema.xmlcp$mycat_schema_file${mycat_schema_file}.bakdatabase_list='messagexuejie'#找到usercenter的行号,由于schema成对出现有可能换行,在其上一行增加schema更可靠last_schema_row_number=`sed......
  • 学习笔记401— 无法创建新虚拟机: 无法打开配置文件“D:\VMware\CentOS.vmx”: 拒绝
    无法创建新虚拟机:无法打开配置文件“D:\VMware\CentOS.vmx”:拒绝访问问题今天下午在创建新的虚拟机的时候,当我操作到最后一步【完成】时出现如下图的拒绝访问。问题分析及解决方案当看到拒绝访问时,第一时间想到的是权限问题,这时才反应过来我并没有使用管理员身份运行,所......
  • SpringBoot 整合 MongoDB
    SpringBoot整合MongoDB好久没搞SpringBoot相关的东西勒,但最近看的代码涉及到了这部分,虽然之前没做过也能看懂,但还是从基础开始搞起比较好。准备工作SpringBoot项目创建这个本来都不用说的,SpringBoot创建项目还能不会啊,但因为某些限制,现在用不了专业版IDEA,只能用社区版,......
  • springboot打成jar包resources下文件的获取
    importorg.apache.poi.util.IOUtils;importorg.springframework.boot.system.ApplicationHome;importorg.springframework.core.io.ClassPathResource;importjava.io.File;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream......
  • Springboot集成MongoDB存储文件、读取文件
    一、前言和开发环境及配置可以转载,但请注明出处。  之前自己写的SpringBoot整合MongoDB的聚合查询操作,感兴趣的可以点击查阅。https://www.cnblogs.com/zaoyu/p/springboot-mongodb.html 使用mongodb存储文件并实现读取,通过springboot集成mongodb操作。 可以有两种实现......