WebMvcConfigurationSupport导致SpringMvcConfig类中注册拦截器失败

WebMvcConfigurationSupport导致SpringMvcConfig类中注册拦截器失败

源代码:

运行后,仅显示前端的反应,而拦截器没有被运行,
原因:
 

在Spring MVC中,‌**WebMvcConfigurationSupport类的扩展会导致Spring MVC的默认配置被完全替换,‌而不是扩展**。‌这意味着,‌如果你重写了addResourceHandlers方法但没有显式调用addInterceptors方法,‌那么默认的拦截器配置(‌包括你可能在其他地方定义的拦截器)‌将不会被注册和应用。‌

当你删除extends WebMvcConfigurationSupport时,‌Spring MVC会使用其默认的配置,‌这包括了自动注册WebMvcConfigurer中定义的拦截器。‌这就是为什么在删除继承WebMvcConfigurationSupport后,‌拦截器能够正常运行的原因。‌

简而言之,‌继承WebMvcConfigurationSupport会完全控制Spring MVC的配置,‌因此需要确保手动添加所有必要的配置,‌包括拦截器。‌如果不希望完全控制配置,‌而是希望扩展默认配置,‌那么应该实现WebMvcConfigurer接口而不是继承WebMvcConfigurationSupport类‌

扩展:
 

WebMvcConfigurerWebMvcConfigurationSupport在Spring MVC中都是用于配置的工具,‌但它们在使用和实现方式上有所不同。‌

  •  

    实现方式:‌WebMvcConfigurer是一个接口,‌提供了多个回调方法,‌用于自定义Spring MVC的配置,‌使用时只需实现该接口并重写其中的方法。‌而WebMvcConfigurationSupport是一个抽象类,‌也提供了多个回调方法,‌但需要继承该类并重写其中的方法才能使用‌12。‌

  •  

    作用:‌WebMvcConfigurer主要用于添加或修改Spring MVC的配置,‌如添加拦截器、‌自定义消息转换器等。‌而WebMvcConfigurationSupport主要用于完全自定义Spring MVC的配置,‌继承该类会覆盖Spring MVC的部分默认配置‌12。‌

  •  

    继承关系:‌WebMvcConfigurer没有继承关系,‌只需实现该接口即可使用。‌而WebMvcConfigurationSupport是一个抽象类,‌需要继承后才能使用‌

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值