SpringBoot对静态资源的映射规则

@ConfigurationProperties(prefix = "spring.resources", ignoreUnknownFields = false)
public class ResourceProperties implements ResourceLoaderAware {
  //可以设置和静态资源有关的参数,缓存时间等
WebMvcAuotConfiguration:    
@Override        
public void addResourceHandlers(ResourceHandlerRegistry registry) {        
if (!this.resourceProperties.isAddMappings()) {            
logger.debug("Default resource handling disabled");                
return;                
}            
Integer cachePeriod = this.resourceProperties.getCachePeriod();            
if (!registry.hasMappingForPattern("/webjars/**")) {            
customizeResourceHandlerRegistration(                
registry.addResourceHandler("/webjars/**")                        
.addResourceLocations(                                
"classpath:/META‐INF/resources/webjars/")                                        
.setCachePeriod(cachePeriod));                        
}            
String staticPathPattern = this.mvcProperties.getStaticPathPattern();            
           //静态资源文件夹映射  
if (!registry.hasMappingForPattern(staticPathPattern)) {            
customizeResourceHandlerRegistration(                
registry.addResourceHandler(staticPathPattern)                        
.addResourceLocations(                                
this.resourceProperties.getStaticLocations())                                        
.setCachePeriod(cachePeriod));                        
}            
}        
        //配置欢迎页映射
@Bean        
public WelcomePageHandlerMapping welcomePageHandlerMapping(        
ResourceProperties resourceProperties) {                
return new WelcomePageHandlerMapping(resourceProperties.getWelcomePage(),            
this.mvcProperties.getStaticPathPattern());                    
}        
       //配置喜欢的图标
@Configuration        
@ConditionalOnProperty(value = "spring.mvc.favicon.enabled", matchIfMissing = true) 
public static class FaviconConfiguration {        
private final ResourceProperties resourceProperties;            
public FaviconConfiguration(ResourceProperties resourceProperties) {            
this.resourceProperties = resourceProperties;                
}            
@Bean            
public SimpleUrlHandlerMapping faviconHandlerMapping() {            
SimpleUrlHandlerMapping mapping = new SimpleUrlHandlerMapping();                
mapping.setOrder(Ordered.HIGHEST_PRECEDENCE + 1);                
               //所有  **/favicon.ico   
mapping.setUrlMap(Collections.singletonMap("**/favicon.ico",                
faviconRequestHandler()));                        
return mapping;                
}            
@Bean            
public ResourceHttpRequestHandler faviconRequestHandler() {            
ResourceHttpRequestHandler requestHandler = new
ResourceHttpRequestHandler();
               
requestHandler                
.setLocations(this.resourceProperties.getFaviconLocations());                        
return requestHandler;                
}            
} 

1.所有 /webjars/** ,都去 classpath:/META-INF/resources/webjars/ 找资源;

webjars:以jar包的方式引入静态资源;

2."/**" 访问当前项目的任何资源,都去(静态资源的文件夹)找映射

"classpath:/META‐INF/resources/",
"classpath:/resources/",
"classpath:/static/",
"classpath:/public/"
"/":当前项目的根路径

3.所有的 **/favicon.ico 都是在静态资源文件下找;

转载于:https://my.oschina.net/liuyuantao/blog/1834498

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值