前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Boot 静态资源处理

Spring Boot 静态资源处理

作者头像
itliusir
发布2018-05-21 16:35:41
1.6K0
发布2018-05-21 16:35:41
举报
文章被收录于专栏:刘君君刘君君

摘要:spring Boot 默认的处理方式就已经足够了,默认情况下Spring Boot 使用WebMvcAutoConfiguration中配置的各种属性。 但是如果你想要自己配置一些项目的设置,你可以在@Configuration注解的配置类上增加@EnableWebMvc或者继承WebMvcConfigurationSupport和WebMvcConfigurationAdapter

正文:

首先解析@EnableWebMvc 、WebMvcConfigurationSupport和WebMvcConfigurerAdapter

# 在spring-boot+spring mvc 的项目中,有些时候我们需要自己配置一些项目的设置,就会涉及到这三个,那么,他们之间有什么关系呢?首先,@EnableWebMvc=WebMvcConfigurationSupport,使用了@EnableWebMvc注解等于扩展了WebMvcConfigurationSupport但是没有重写任何方法,所以有以下几种使用方式:

  1. @EnableWebMvc+extends WebMvcConfigurerAdapter,在扩展的类中重写父类的方法即可,这种方式会屏蔽springboot的@EnableAutoConfiguration中的设置
  2. extends WebMvcConfigurationSupport,在扩展的类中重写父类的方法即可,这种方式会屏蔽springboot的@EnableAutoConfiguration中的设置
  3. extends WebMvcConfigurerAdapter,在扩展的类中重写父类的方法即可,这种方式依旧使用springboot的@EnableAutoConfiguration中的设置

具体哪种方法适合,看个人对于项目的需求和要把控的程度,在WebMvcConfigurationSupport(@EnableWebMvc)和@EnableAutoConfiguration这两种方式都有一些默认的设定,而WebMvcConfigurationAdapter则是一个abstract class。 具体如何类内如何进行个性化的设置,可以参考以下文章:

Spring Boot:定制HTTP消息转换器

EnableWebMvc官方文档

然后重写addResourceHandlers方法

12345678

//例如对Swagger资源处理@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/swagger-ui.html").addResourceLocations( "classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**").addResourceLocations( "classpath:/META-INF/resources/webjars/");}

至于是继承WebMvcConfigurationSupport还是WebMvcConfigurerAdapter看个人需求。

Swagger路径问题

在使用Swagger时候是正常可以访问的在加入Security后发现若不排除Swagger-ui.html则资源权限不足401的问题,最后发现路径并不是springfox-swagger-ui.jar下的webjar/xxx,而是/swagger-resources/xx和/v2/xx:

这样就可以正常访问Swagger的ui界面啦

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-02-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正文:
  • 首先解析@EnableWebMvc 、WebMvcConfigurationSupport和WebMvcConfigurerAdapter
  • 然后重写addResourceHandlers方法
  • Swagger路径问题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档