springboot2.x配置静态资源路径各种方法以及问分析

基于springboot2.x

默认资源路径

src/main/resources/下创建的staticresourcespublic

META-INF/resources这四个文件夹,为静态资源的文件夹,其他地方均访问不到

如果文件夹中出现相同名称的文件,优先级为:

/META-INF/resources>resources>static>public

写在前面

@EnableWebMvc的特点
这个注解会让默认的springMVC的默认配置失效,完全使用自己方法里的配置,配置多少就生效多少,没配置的,就不生效(比如上面springMVC的默认资源路径)
EnableWebMvc这个注解里,看到了两段注释,如图:


  • 个人翻译为:添加这个注解是为了从WebMvcConfigurationSupport这个类里导入springMVC的配置

  • 个人翻译为:要想定制已经导入的默认配置,那么实现WebMvcConfigurer接口,并且重写默认方法

注:以上结论,参考来源为EnableWebMvc注解的官方注释以及实际代码效果,并未深入源码分析,旨在解决问题,如有不对指出,请受累指出,不胜感激

自定义静态资源路径的方式

1、WebMvcConfigurationSupport

步骤:继承WebMvcConfigurationSupport,然后在主类上加入@EnableWebMvc
缺陷:参考前面的内容
如图:

  • 第一步:
  • 第二步,继承WebMvcConfigurationSupport,重写方法,写入自己的配置
2、WebMvcConfigurerAdapter

编写类继承WebMvcConfigurerAdapter,重然后如图

很明显,官方已经不推荐使用这个类了,所以也不推荐使用这个方法

当然,这里也可以在主类上类添加注解@EnableWebMvc但是,你重写哪个方法,哪个方法原本默认配置会失效,你配置多少,就生效多少,其他没重写的方法,还会走默认配置,如果只是在springMVC默认的配置上,新添加额外的配置,那么一定不要加这个注解

3、WebMvcConfigurer

当然,这里也可以在主类上类添加注解@EnableWebMvc但是,你重写哪个方法,哪个方法原本默认配置会失效,你配置多少,就生效多少,其他没重写的方法,还会走默认配置,如果只是在springMVC默认的配置上,新添加额外的配置,那么一定不要加这个注解

总结

  • 因为大多数我们的需求应该都是在默认的基础上添加新的配置,在这种需求下,推荐使用第三种,不加@EnableWebMvc注解
  • 如果只是要完全重写某项配置,推荐第三种+@EnableWebMvc注解
  • 如果如果要完全重写所有的默认配置,推荐使用第一种
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值