自动装配 - 结合源码分析
1 环境准备
1.1 搭建一个简单项目
以web项目入手来分析自动装配,所以我们需要快速搭建一个Hello World
1.2 官方文档说明
官网链接:
https://docs.spring.io/spring-boot/docs/2.4.4-SNAPSHOT/reference/html/using-spring-boot.html#using-boot-configuration-classes
按照官方文档说明:
只要在启动类上标注 @SpringBootApplication,就能有以下3个注释的功能
- @EnableAutoConfiguration: 自动导入配置功能
- @ComponentScan: 扫描所注释包的组件
- @Configuration: 标注这是一个配置类
1.3 查看源码
自动配置关键点
1.自动装配组件
xxxAutoConfiguration
2.自动配置类
xxxProperties,通过这可以自定义配置项
3.dubug ture
查看哪些组件生效
一、 静态资源位置
备注:基于版本号 V2.4.3
不同版本位置可能会有些差异
1. 默认位置(启动时加载)
(1).位置
- classpath:/META-INF/resources/webjars/
- classpath:/META-INF/resources/
- classpath:/resources/
- classpath:/static/
- classpath:/public/
(2).优先级
resources > static(默认) > public
一般很少使用webjars/
(3).对应源码
-
WebMvcAutoConfiguration
-
WebProperties
2. 自定义(会覆盖默认配置)
(1)配置文件中自定义
application.properties
spring.mvc.static-path-pattern=/自定义路径
(2)对应源码
- WebMvcProperties