欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Boot 配置文件探索

程序员文章站 2022-03-08 17:53:15
...

Spring Boot 配置文件探索

定位

SpringBootApplication注解位于**Application.java对应类名上方(一般是自动生成)
Spring Boot 配置文件探索
按住Ctrl并单击注解,跳转至SpringBootApplication注解

查看SpringBootApplication注解

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

查看AutoConfigurationImportSelector类

Spring Boot 配置文件探索
这里,跳转到了Spring的包内,点击上方package,找到当前目录结构,会发现有个spring-configuration-metadata.json文件
Spring Boot 配置文件探索
双击打开,是一个json文件,有很多的配置信息
搜索一下“server.port”,对应如下json信息
Spring Boot 配置文件探索
没错,这就是内置服务器的端口: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目录下创建配置文件(满足上方命名规则),在配置完成后启动项目即可生效,下图日志内显示了配置后的信息,其余配置也一样
Spring Boot 配置文件探索
Spring Boot 配置文件探索

Spring Boot 配置文件探索