版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢!
本文网址:https://blog.csdn.net/sun8112133/article/details/103200700
在 笔记五 中已经简单介绍过了 Spring Boot 配置文件的基本使用,本篇就来讲解一下 配置文件的位置。
一、项目内部的配置文件
我们之前讲过,properties配置文件 和 yml配置文件 可以互相补充,也可以结合使用,如果存在冲突的情况,则 properties 优先级比 yml 的优先级高。
我们还知道 Spring Boot 默认能够读取 application.properties 和 application.yml 文件。
这两个文件在 项目 中只能出现在以下四个地方:
- file: 项目根目录/config
- file: 项目根目录
- classpath: 项目根目录/config
- classpath: 项目根目录
注意: 如果某项配置冲突,则优先级从上往下;如果不冲突,则互补结合使用。我们一般习惯于写在 classpath:项目根目录 中,也就是 resource 目录下。
二、配置项目名
在配置文件中进行 指定项目名 。如下:
- 在 properties文件 中配置
server.servlet.context-path=/boot # 项目名为 boot
- 在 yml文件 中配置
server:
servlet:
context-path: /boot # 项目名为 boot
三、项目外部的配置文件
这个方法是用于 补救项目。如果项目中有大量配置需要立即修改,而配置文件和配置信息过多不易找寻,就用这种方法。
好处: 如果项目中出现问题,比如端口号错误,那么你只需要在外部写一个配置文件,然后在运行时直接引用外部配置文件即可,不需要再重新修改源代码,然后再打成 Jar 包了。
我们需要将配置文件放置在项目外,在运行项目时指定配置文件路径即可。
1、使用 IDE 工具(如:STS)
我们只需要 右键选择 Run As -> Run Configuration -> Arguments -> Program arguments
输入命令: --spring.config.location=D:/application.properties
即可。
注意: 如果 同一个配置信息 同时存在于 内部配置文件 和 外部配置文件,则优先级:外部 > 内部
2、使用 CMD 命令行窗口
使用 CMD 命令行窗口的方式,命令如下:
java -jar HelloWorld-0.0.1-SNAPSHOT.jar --spring.config.location=D:/application.properties
四、项目运行参数
这个方法也是用于 补救项目。如果项目中只有少量配置信息需要修改,可以用此方法。
比如只修改端口号和项目名:
我们只需要 右键选择 Run As -> Run Configuration -> Arguments -> Program arguments
输入命令: --server.port=8888 -server.servlet.context-path=/springboot
即可,这个时候项目的端口号就改成了 8888,项目名就改成了 springboot 了。
五、优先级
我们在多个地方都进行配置时,如果产生了冲突,那么优先级是这样的:
命令参数 > 外部文件 > 内部文件(properties>yml)