Learn from:尚硅谷
我们直接去Maven下的自动配置类的jar包去查看到底是什么原理。
配置原理
打开下面路径的的WebMvcAutoConfiguration
这个类是配mvc的,我们可以看看具体都配置了什么。
我们来到WebMvcAutoConfigurationAdapter这个函数。给这个函数打个断点。
debug运行。
我们可以看到这个函数配置了很多东西。
//有参构造器所有参数的值都会从容器中确定
//ResourceProperties resourceProperties;获取和spring.resources绑定的所有的值的对象
//WebMvcProperties mvcProperties 获取和spring.mvc绑定的所有的值的对象
//ListableBeanFactory beanFactory Spring的beanFactory
//HttpMessageConverters 找到所有的HttpMessageConverters
//ResourceHandlerRegistrationCustomizer 找到 资源处理器的自定义器。=========
//DispatcherServletPath
//ServletRegistrationBean 给应用注册Servlet、Filter....
可以看到这个是SpringBoot原生的静态资源目录。
配置文件的相关属性和xxx进行了绑定。WebMvcPropertiesspring.mvc、ResourcePropertiesspring.resources
进入ResourceProperties里面,我们可以看到这个的配置前缀是
spring.resources
但是配置的时候好像是spring.web.resources
WebProperties.class
WebMvcProperties.class
资源处理的默认规则
我们可以看到这个函数如果addMapping的值是false的话,就会退出,但是我们可以看到这个值为true,因此我们就可以进来了。设置false的意思就是禁用静态资源规则。
也就是我们访问不了静态资源了。
欢迎页的处理规则
我们来到欢迎页处理器映射
这里给欢迎页设置了应用,静态资源和前缀,还设置了拦截器和一些配置