Spring Boot 配置文件探索
程序员文章站
2022-03-08 17:53:15
...
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目录下创建配置文件(满足上方命名规则),在配置完成后启动项目即可生效,下图日志内显示了配置后的信息,其余配置也一样
推荐阅读
-
Spring Boot 项目中使用Swagger2的示例
-
详解Spring Boot Admin监控服务上下线邮件通知
-
Spring Web项目spring配置文件随服务器启动时自动加载
-
spring boot使用i18n时properties文件中文乱码问题的解决方法
-
使用Spring Boot上传文件功能
-
移动开发Spring Boot外置tomcat教程及解决方法
-
浅谈Spring Boot 开发REST接口最佳实践
-
spring boot测试打包部署的方法
-
Spring Boot报错:No session repository could be auto-configured, check your configuration的解决方法
-
Spring Boot实战之静态资源处理