文章目录
- 一. Springboot配置文件类型
- 1. properties
- 2. yml
- 3. yaml
- 4. 三种配置文件类型加载优先级
- 二. 配置文件位置加载优先级
- 1. 等级一
- 2. 等级二
- 3. 等级三
- 三. 自定义配置文件
- 1. 第一种方式
- 2. 第二种方式
- 四. IDEA配置文件不识别解决方法
一. Springboot配置文件类型
在了解Springboot配置文件的加载优先级之前,有必要先了解一下Springboot给我们提供的几种可用的配置文件类型,这样才更有利于各位读者朋友对后文的理解。
1. properties
首先是Springboot提供的properties类型的配置文件的。
对应配置文件名:
application.properties
配置书写格式:
server.port=80
2. yml
yml也是Springboot提供的配置文件类型,是目前企业开发中比较流行的一种配置文件编写格式。
对应配置文件名:
application.yml
配置书写格式:
server:
port: 81
注意
: 配置中:后存在一个空格不能省略
3. yaml
yaml也是Springboot提供的配置文件类型。
对应配置文件名:
application.yaml
配置书写格式:
server:
port: 82
注意
: 配置中:后存在一个空格不能省略
4. 三种配置文件类型加载优先级
当三种类型的配置文件同在
同一模块的resources目录下时,优先级以下面列表为例,从高到低排列。
- properties
- yml
- yaml
当然这只是配置的加载优先级,当三种类型的配置文件同在时,他们的配置内容并存叠加
,并相互覆盖
,相同的配置属性以上方的加载优先级为主。
二. 配置文件位置加载优先级
1. 等级一
在开发的过程中,我们开发完毕准备交付,那么就得修改我们本地测试的配置文件,但是这样过于复杂,所以Springboot给我们提供了更好的解决方案。
可以在我们项目的resources目录下创建一个新的目录,目录名为:config
我们可以将新的配置文件存储在这个新创建的config目录中,存放在这个目录中的配置文件的权重将会比直接存放在resources目录下的配置文件权重高,当配置属性冲突时以config中的配置文件内容为主。
2. 等级二
对于涉密等级高的配置,需要交付后由客户配置,那么我们可以将打包好的jar模块放在一个目录下,然后由客户编写好配置文件将其放在同一个目录下面
这样我们使用下面的命令启动这个jar包时
java -jar [jar包名]
这样启动jar包会自动读取我们配置文件的内容,这种配置文件的存放位置比上面config目录的权重要高,还是遵守惯例,相同的配置属性以权重高的配置为主,不相同的配置属性则两个配置文件的内容合并生效。
3. 等级三
如果有更加涉密的内容和不同的运维环境可以在jar包的存放目录再创建一个名为config的目录如下图所示,我们可以将新的配置文件存放在里面。
这样config目录中的配置文件权重将会大于和jar包同级的配置文件的权重,且jar包启动时也会读取其中的配置属性,还是按照惯例,相同的属性配置以权重高的为主,不同的配置属性则合并生效。
通过这样的约定我们在服务器环境下可以给目录设置访问权限,起到配置保密的效果。
三. 自定义配置文件
抛开配置文件的类型,难道我们的文件名只能叫 application 吗? 难道不能叫别的文件名? 这样对系统的安全性和保密性并不是很友好,当然我们是可以对配置文件的文件名进行修改的,有两种方式都可以修改配置文件的文件名。
1. 第一种方式
向下面这样直接修改配置文件的文件名这样springboot并不能识别到。
要进行相关的一些配置,第一种方式就是使用临时属性,启动项目时通过临时属性指定springboot的配置文件名
java –jar springboot.jar --spring.config.name=ebank
2. 第二种方式
除了上面直接使用临时属性指定文件名的方式还可以指定路径。
类路径方式指定:
java –jar springboot.jar --spring.config.location=classpath:/ebank.yml
全路径方式:
java –jar springboot.jar --spring.config.location=E:\test\测试\ebank.yml
在IDEA中可以指定临时属性,想要了解的朋友可以自行查询资料。
四. IDEA配置文件不识别解决方法
在日常开发中有时会因为IDEA的bug出现下面这种Springboot的配置文件未被IDEA识别到,配置文件的图标并不是一个绿叶子的样子,如下所示:
遇到这种情况,点击IDEA界面右上角 【文件】然后点击 【项目结构】
找到无法识别配置文件的模块 点击其上方的【+】选择 【Spring】添加
添加完成后,点击右边Springboot标志的按钮
点击左上角的加号将未被识别的配置文件添加进去,然后保存退出即可
如果不小心将初始化的配置文件删除,也可以利用上面的方法解决。