Spring Boot 配置文件探索

纵然是瞬间 提交于 2020-01-18 05:10:07

Spring Boot 配置文件探索

定位

SpringBootApplication注解位于**Application.java对应类名上方(一般是自动生成)
在这里插入图片描述
按住Ctrl并单击注解,跳转至SpringBootApplication注解

查看SpringBootApplication注解

在这里插入图片描述
查看源码后,大部分与Spring的自定义设置无关
不过最上方的@EnableAutoConfiguration注解引起了我的注意,按住Ctrl,鼠标点进去,跳转到下图所示
在这里插入图片描述
除了Import没有什么特殊的地方,跟进AutoConfigurationImportSelector.class

查看AutoConfigurationImportSelector类

在这里插入图片描述
这里,跳转到了Spring的包内,点击上方package,找到当前目录结构,会发现有个spring-configuration-metadata.json文件
在这里插入图片描述
双击打开,是一个json文件,有很多的配置信息
搜索一下“server.port”,对应如下json信息
在这里插入图片描述
没错,这就是内置服务器的端口:8080,这个json文件就是SpringBoot用于默认配置的。

那么用户自定义的信息如何读取呢?
上一篇博客在查找时,跟踪到spring-boot-starter-parent对应的pom文件,文件内部配置了如下代码,可以知道,就是用来读取用户自定义配置信息的

<resource>
        <filtering>true</filtering>
        <directory>${basedir}/src/main/resources</directory>
        <includes>
          <include>**/application*.yml</include>
          <include>**/application*.yaml</include>
          <include>**/application*.properties</include>
        </includes>
</resource>

配置的名称就是json文件内的name值,并有相应的description

比如在resources目录下创建配置文件(满足上方命名规则),在配置完成后启动项目即可生效,下图日志内显示了配置后的信息,其余配置也一样
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!