TypechoJoeTheme

香草物语

统计
登录
用户名
密码
/
注册
用户名
邮箱
输入密码
确认密码

Spring Boot配置文件详解

Laughing博主
2020-09-24
/
1 评论
/
1,233 阅读
/
714 个字
/
百度已收录
09/24
本文最后更新于2024年03月18日,已超过186天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

关于配置文件

springboot有两种格式的配置文件,即yamlproperties,两种配置文件在功能上完全等效。
相对于 properties而言,yaml更加简洁明了,而且使用的场景也更多。除了简洁,yaml还有另外一个特点,就是yaml中的数据是有序的,properties 中的数据是无序的
关于yaml以及properties详细使用方法,我们稍后开贴专门说明,这里不再赘述。

配置文件加载顺序

默认情况下,springboot应用会依次从以下位置加载配置文件:

  1. 项目根目录下的config文件夹
  2. 项目根目录
  3. resources目录下的config文件夹
  4. resources目录

这四个是默认的位置,我们可以简单验证一下。

在项目根目录下config文件夹下的application.yaml,设置端口为6666

server:
  port: 6666

启动项目,我们可以看到,默认端口已经是6666

自定义配置文件位置

除了上述的四个默认加载配置文件的位置,我们也可以自定义文件位置。通过

pring.config.location 

即可指定加载配置文件位置

Idea调试时动态指定配置文件位置

举个栗子,我在resources文件夹下面建立一个blog文件夹,并将 application.yaml 文件放到blog文件夹下,同时设置端口为6666

  1. 加入创建配置文件,并按照如下设置
  2. 修改Idea配置信息

    spring.config.location=classpath:/blog/
一定要注意配置文件位置,最后的/不能少,否则会报错
  1. 运行程序,我们会发现端口变成了 6666

运行jar包是动态指定配置文件位置

除了在Idea调试,我们终归要将程序发不成jar包,那么jar包如何加载配置文件呢?

我们是以上面的程序进行说明,此时,我们将配置文件单独拿出来,同时将resource\blog文件夹删掉。并通过

mvn package

将程序打包成jar包,打包后的jar包名称为properties-0.0.1-SNAPSHOT.jar ,然后我们将jar包application.yaml文件放到一起。

我们通过

java -jar properties-0.0.1-SNAPSHOT.jar --spring.config.location = ./

运行程序,通过控制台,我们可以看到此时端口仍然是6666,证明已经加载我们的配置文件。

自定义配置文件名

自定义配置文件名的方式,与自定义配置文件的方式类似,同时两个命令可以一起使用。

spring.config.name

这里只展示一下用java -jar命令运行的方式,我把application.yaml文件改成blog.yaml,内容不变。

java -jar properties-0.0.1-SNAPSHOT.jar --spring.config.location=./ --spring.config.name=blog

可以看到,程序依然以6666端口成功启动。

自定义配置文件加载顺序

上面说了工程内的配置文件就自定义配置文件,如果自定义配置文件与默认配置文件同时存在,那么springboot如何加载呢。

  1. 新建工程
  2. 修改application.propertes端口号改成1234
  3. package打包工程
  4. 使用java -jar 命令加载配置文件,并制定端口为4321
    我们看到,程序先加载了环境变量中的配置信息
Spring Boot
朗读
赞(0)
赞赏
感谢您的支持,我会继续努力哒!
版权属于:

香草物语

本文链接:

https://www.xiangcaowuyu.net/java/spring-boot-application-yaml-detail.html(转载时请注明本文出处及文章链接)

评论 (1)
  1. 小白 闲逛
    MacOS · Google Chrome

    写的很想器

    2020-09-25 回复
  2. gh 闲逛
    MacOS · Safari

    谢谢分享!

    2019-08-23 回复
  3. Laughing 闲逛
    iPhone · Safari
    @孤狼

    我自己一直在用

    2018-11-09 回复