WebMnvConfig配置类加上@EnableWebMvc失效

博客讲述了在SpringBoot项目中,当在WebMnvConfig配置类上添加@EnableWebMvc注解时,配置类失效的问题。作者发现该注解会导致Springmvc全面接管,移除后配置生效。同时提到了SpringBoot 2.6.7版本与2.5.8版本间的差异,可能是由于Spring MVC的路径匹配策略变化,从AntPathMatcher变为PathPatternParser。解决方案包括了解决匹配策略的更改对Actuator端点的影响,以及如何配置回AntPathMatcher策略。
摘要由CSDN通过智能技术生成

今天遇到一个问题,困扰了我很久

 就是自己继承WebMvcConfigurationSupport后重写里面的方法没有生效。

起初没有察觉自己哪里写错了,以为是自己springboot版本过高的原因,修改版本后发现依然没有作用。

结果后面突然发现该类上面添加了一个@EnableWebMvc的注解使得该类没有生效,去掉之后便生效了

具体原因就是@EnableWebMvc这个注解会让该配置类失效,springmvc会全面接管该类,原有的配置就已经失效了,因为我们这里只是扩展mvc的配置,并不想让它全面接管,所以该注解不应该存在。

还存在一种不生效可能

Springboot-2.6.7版本无效,springboot- 2.5.8版本有效

因此可能是相关的spring的源代码修改了

知道是Springboot-2.6.x所使用到的spring mvc-5.3.x 默认的路径匹配策

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: @enablewebmvc注解将会自动配置和引入大量的 Spring WebMvc 组件和特性。如果在使用了@enablewebmvc注解后@import不再生效,可能是因为该注解中已经配置好了需要的组件,因此无需再手动通过@import方式引入。 需要注意的是,@enablewebmvc注解会代替@Configuration和@EnableWebMvc注解,因此如果已经使用了这两个注解,就不需要再添加@enablewebmvc注解了。 ### 回答2: 使用@EnableWebMvc注解后,@Import注解失效的原因是@EnableWebMvc注解本身已经包含了@Import注解的功能。 @EnableWebMvc注解是Spring框架提供的一个级别的注解,它的作用是开启Spring MVC的相关配置。该注解会自动为我们完成一些常用的配置,例如注册必要的组件和配置默认的处理器。在@EnableWebMvc注解内部,Spring框架已经使用了@Import注解来引入了一些必要的,这些包含了Spring MVC框架所需的所有配置。 因此,当我们使用了@EnableWebMvc注解时,已经包含了@Import注解的功能,所以我们不再需要显式地使用@Import注解来导入其他配置。这也是为什么在使用@EnableWebMvc注解后,@Import注解不再起作用的原因。 总结起来,使用@EnableWebMvc注解后,无需使用@Import注解来导入其他配置,因为@EnableWebMvc本身已经包含了所有必要的配置。 ### 回答3: 在Spring框架中,@EnableWebMvc注解用于启用Web MVC功能,它会自动为我们进行一些配置,例如处理HTTP请求和响应、渲染视图等。当我们使用@EnableWebMvc注解后,它会自动注册一些默认的配置,如WebMvcConfigurerAdapter。 而在另一方面,@Import注解用于将指定的配置导入到当前的配置中。它可以用于注册额外的配置,以提供其他的功能。 然而,由于@EnableWebMvc已经自动注册了WebMvcConfigurerAdapter,它的注册会覆盖在@Import中导入的配置,因此@Import注解失效了。 解决这个问题的方法是,我们可以直接在WebMvcConfigurerAdapter中添加我们需要的配置,而不需要使用@Import注解导入其他的配置。在WebMvcConfigurerAdapter中,我们可以实现addInterceptors、addCorsMappings和addViewControllers等方法来自定义一个WebMvcConfigurer配置,提供更多的自定义配置。 总之,在使用@EnableWebMvc注解时,需要注意它已经自动注册了WebMvcConfigurerAdapter,以提供默认的配置。如果需要更多的自定义配置,可以直接在WebMvcConfigurerAdapter中进行。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chihiro_db

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值