静态资源映射规则
在之前的SpringMVC项目中,要用的静态资源都是导入到web文件夹下的,但我们发现SpringBoot项目中没有web文件夹,那应该放在什么位置呢?
SpringBoot中,SpringMVC的web配置都在 WebMvcAutoConfiguration 这个配置类里面,我们找到WebMvcAutoConfigurationAdapter 这个类,里面有个addResourceHandlers方法,添加资源处理程序
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//如果这个resourceProperties已经被添加映射或者说被定义
if (!this.resourceProperties.isAddMappings()) {
//禁用默认资源处理,说明如果我们手动配置,那么默认的自动配置就会失效
logger.debug("Default resource handling disabled");
return;
}
addResourceHandler(registry, "/webjars/**", "classpath:/META-INF/resources/webjars/");
addResourceHandler(registry, this.mvcProperties.getStaticPathPattern(), (registration) -> {
registration.addResourceLocations(this.resourceProperties.getStaticLocations());
if (this.servletContext != null) {
ServletContextResource resource = new ServletContextResource(this.servletContext