配置优先级

在我们前面的课程当中,我们已经讲解了SpringBoot项目当中支持的三类配置文件:

在SpringBoot项目当中,我们要想配置一个属性,可以通过这三种方式当中的任意一种来配置都可以,那么如果项目中同时存在这三种配置文件,且都配置了同一个属性,如:Tomcat端口号,到底哪一份配置文件生效呢? yaml、yml 两种配置文件,优先级最高的是yml。 配置文件优先级排名(从高到低):

  1. properties配置文件
  2. yml配置文件
  3. yaml配置文件 yml是最主流的方式. YML 是 YAML 的文件扩展名写法之一,本质是同一种配置文件格式,遵循 YAML 语法规则(如大小写敏感、用缩进表示层级、冒号 + 空格分隔键值等 ),都用于存储配置信息,被各类编程语言 / 框架(如 Spring Boot、Python 等)支持,可互相转换,功能完全等效。

命令行配置

  1. Java系统属性配置 (格式: -Dkey=value)
-Dserver.port=9000
  1. 命令行参数 (格式:–key=value)
--server.port=10010

idea

Pasted image 20250630224125

命令行参数总是最高优先级.系统属性参数其次.配置文件在后面.

Pasted image 20250630224342

打包时配置

Pasted image 20250719205252

java -Dserver.port=9000 -jar XXXXX.jar --server.port=10010

Pasted image 20250719205314

Pasted image 20250701215839

Pasted image 20250701215945

这些命令行参数可以直接顶替掉配置文件当中的任何属性,不仅仅是上面的port之类.具体用法可搜.

bean管理

bean作用域配置

Pasted image 20250706231138

测试类:

Pasted image 20250706231259