SpringBoot学习4全局配置文件

导读:本篇文章讲解 SpringBoot学习4全局配置文件,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

文章目录


前言

我们之前学习其他的框架时,都会创建一个核心配置文件,SpringBoot也不例外,也有一个核心配置文件,也就是全局配置文件,那么:全局配置文件的作用是什么?SpringBoot都支持那些类型的配置文件?全局配置文件要放到哪里才能被加载到?会不会有多个全局配置文件?如果有的话加载顺序怎么控制呢?接下来,让我们带着这些问题来继续学习吧

一、全局配置文件的作用是什么?

全局配置文件可以对一些默认的配置进行修改,以及定义一些自定义的配置 举个例子:我们默认创建的SpringBoot项目会自动启动一个Tomcat,他的端口号是8080,我们如果想要修改这个端口号就可以在全局配置文件中进行修改 在这里插入图片描述 如上图:我们直接在默认生成的application.properties文件中修改server.port=8181,然后在启动项目就可以看到Tomcat的启动端口修改成功了 另外我们可以自定义一些配置,这里我举个例子,同样是在application.properties文件中: 在这里插入图片描述 然后再项目中使用: 在这里插入图片描述 这样就可以了

二、SpringBoot都支持那些类型的配置文件?

Spring Boot使用一个application.properties或者application.yaml的文件作为全局配置文件 也就是说SpringBoot支持properties类型和yaml类型的配置文件

三、全局配置文件要放到哪里(哪个目录下)才能被加载到?会不会有多个全局配置文件?

从官网的介绍中我们就可以看出来,可以有多个全局配置文件,就是下面的四种路径下: 在这里插入图片描述 我们用我们的项目看一下: 在这里插入图片描述 接下来就是下一个问题了,这些地方都可以有全局配置文件,那么同样的属性优先级是怎样的呢?

四、不同路径下的全局配置文件的优先级是怎样的呢?

很简单,我们以Tomcat的端口号来验证下就知道了,我们在四个位置都写上一个端口号,但是端口不一样,我们来试一下: 在这里插入图片描述 在这里插入图片描述 通过多次的调整配置文件最终得出的结论就是: 1、加载优先级从高到低分别是: 根目录下/config目录下配置文件 根目录下的配置文件 类路径下/config目录下配置文件 类路径下的配置文件 2、SpringBoot会从这四个位置全部加载主配置文件,如果高优先级中配置文件属性与低优先级配置文件存在冲突属性则取高优先级,如果不冲突则采用互补配置(同时存在)


五、补充

1、如果同一个目录下,同时有application.yaml也有application.properties,优先级是怎样的? 如果同一个目录下,有application.yaml也有application.properties,默认先读取application.properties。 Spring Boot 2.4 改进了处理 application.properties 和 application.yml 配置文件的方式, 如果是2.4.0之前版本,优先级properties>yaml 但是如果是2.4.0的版本,优先级yaml>properties 如果想继续使用 Spring Boot 2.3 的配置逻辑,也可以通过在 application.properties 或者 application.yml 配置文件中添加以下参数:

spring.config.use-legacy-processing = true

2、如果同一个配置属性,在多个配置文件都配置了,默认使用第1个读取到的,后面读取的不覆盖前面读取 到的。

3、创建SpringBoot项目时,一般的配置文件放置在“项目的resources目录下”。

4、如果我们的配置文件名字不叫application.properties或者application.yaml,可以通过在启动参数中自定义spring.config.name来指定配置文件的名字 例如:配置文件名是:myproject,那么启动参数如下

$ java -jar myproject.jar --spring.config.name=myproject

5、我们还可以在启动参数中通过自定义spring.config.location来指定其他位置的配置文件生效,比如我们指定一个D盘的application.properties文件,启动参数如下:

java -jar run-0.0.1-SNAPSHOT.jar --
spring.config.location=D:/application.properties

总结

这一篇我们简单的对全局配置文件进行了初步了解,后面我们继续深入学习

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/1461.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!