首页 > 编程知识 正文

Spring Boot的两种配置文件,spring配置文件读取properties的配置

时间:2023-05-05 00:26:07 阅读:198637 作者:3893

文章目录 一、properties1.配置文件的默认位置,及执行优先级顺序2.配置文件默认位置的修改3.项目已打包成jar,在启动命令中加入位置参数即可4.文件名问题
在Spring Boot中,配置文件有两种不同的格式,一个是properties,另一个是yaml。properties文件比较常见相对于properties而言,yaml更加简洁明了,而且使用的场景也更多,很多的开源项目都是使用yaml进行配置。除了简洁,yaml还有另外一个特点,就是yaml中的数据是有序的,properties中的数据是无序的。在一些需要路径匹配的的配置中,顺序就显得尤为重要,此时我们一般采用yaml。

一、properties 1.配置文件的默认位置,及执行优先级顺序

首先,当我们创建一个Spring Boot工程时,默认resources目录下就有一个appliction.properties文件,可以在appliction.properties文件中进行项目配置,但是这个文件并非唯一的文件,在Spring Boot中,一共有4个地方可以存放application.properties文件。
1.当前项目根目录下的config目录下
2.当前项目的根目录下
3.resources目录下的config目录下
4.resources目录下

按如上顺序,四个配置文件的优先级依次降低。如下:

2.配置文件默认位置的修改

上面4个位置是默认位置,即Spring Boot启动,默认会从这四个位置按顺序去查找相关属性并加载。但是,这也不是绝对的,我们也可以在项目启动时自定义配置文件位置。
例如:我们在resources目录下创建一个javaboy目录,目录中存放一个appliction.properties文件,那么正常情况下,当我们启动Spring Boot项目时,这个配置文件是不会被自动加载的。我们可以通过spring.config.location来手动的指定配置文件的位置,指定完成后,系统就会自动去该目录下查找application.properties文件。
创建目录及文件:

配置:


配置后,此时启动项目,就会发现,项目以classpath:/javaboy/appliction.properties配置文件启动。

3.项目已打包成jar,在启动命令中加入位置参数即可

上面是在开发工具中配置了启动位置,如果项目已经打包成jar,在启动命令中加入位置参数即可。

java -jar properties-0.0.1-SNAPAHOT.jar --spring.config.location=classpath:/javaboy/

将项目打包成jar包:

执行启动命令:

4.文件名问题

对于application.properties而言,它不一定非要叫application,但是项目默认是去加载名为application的配置文件,如果我们的文件不叫application也是可以的,但是,需要明确指定配置文件的文件名。
方式和指定路径一致,这里的key是spring.config.name。
首先我们在resources目录下创建一个app.properties文件,然后在IDEA中指定配置文件的文件名。

指定完配置文件名之后,再次启动项目,此时系统会自动去默认的4个位置下面分别查找名为:app.properties的配置文件。当然,允许自定义文件名的配置文件不放在4个默认的位置,而是放在自定义目录下,此时就需要明确指定spring.config.location

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。