配置优先级
SpringBoot项目当中支持的三类配置文件:

在SpringBoot项目当中,我们要想配置一个属性,可以通过这三种方式当中的任意一种来配置都可以,那么如果项目中同时存在这三种配置文件,且都配置了同一个属性,如:Tomcat端口号,到底哪一份配置文件生效呢?
经过测试我们发现,properties的优先级最高,其次是yml,最后是yaml

在项目开发中,我们通常采用yml这种格式的配置文件进行配置
在SpringBoot项目当中除了以上3种配置文件外,SpringBoot为了增强程序的扩展性,除了支持配置文件的配置方式以外,还支持另外两种常见的配置方式:

那在idea当中运行程序时,如何来指定Java系统属性和命令行参数呢?


五种配置方式的优先级: 命令行参数 > 系统属性参数 > properties参数 > yml参数 > yaml参数
如果说这个项目我已经开发完毕了,并且测试通过了,那接下来我要将项目打成一个jar包,部署到服务器上进行运行了,那这个时候我该如何设置java系统属性以及命令行参数呢?、
如果说我们项目开发完毕了,最终我们可以将项目打成一个,jar包,打成一个.jar包,接下来我们在运行这个.jar包的时候,其实也是可以用来指定java系统属性和命令行参数的
那么要运行.jar包,我们可以通过java提供的一条指令
java -Dserver.port=9000 -jar XXXXX.jar --server.port=10010
我们只需要在对应的位置加上系统属性和命令行参数就可以了

在maven项目的pom文件中,如果是基于官方骨架创建的springBoot项目,都会有这么一个插件,那这个插件就是springBoot中打包的一个插件,有了这个插件,我们在打包这个项目的时候,这个项目所依赖的所有.jar包,都会集中的打到这一个.jar包里面来

options代表我们可以在运行.jar包的时候指定命令属性
在最后也有个可选项,叫args,这个代表的是命令行参数,在运行.jar包的时候也可以指定命令行参数

