SpringBoot如何扩展与全面接管SpringMVC

2025-06-02 05:53:47

1、在实际开发过程中,仅仅是SpringBoot集成的功能使用SpringMVC是仅仅不够的,比如: <mvc:view-controller path=/success view-name=success/> <mvc:default-servlet-handler/> <mvc:annotation-driven></mvc:annotation-driven>

SpringBoot如何扩展与全面接管SpringMVC

2、如果你想要扩展SpringMVC配置的功能,比如interceptors,formatter,view controller,你能够添加一个实现WebMvcConfiguerAdapter类@Configration类,并且不能标注@EnableWebMvc注解。

SpringBoot如何扩展与全面接管SpringMVC

3、使用WebMvcConfigurerAdapter可以来扩展SpringMVC的功能,比如浏览器发送/bg请求来到success视图。代码中的双引号已经被删除,请自行加上package com.gwolf.config;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;@Configurationpublic class MyMvcConfig extends WebMvcConfigurerAdapter{ @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController(/bg).setViewName(success); }}

SpringBoot如何扩展与全面接管SpringMVC

4、这样既保留了所有的自动配置,也能为我们扩展自己的配置。这样实现的原理是:1、WebMvcAutoConfiguration是SpringMVC的自动配置类。2、在做其他自动配置时会导入:@Import(EnableWebMvcConfiguration.class)

SpringBoot如何扩展与全面接管SpringMVC

5、EnableWebMvcConfiguration会加载容器中所有的WebMvcConfigurer一起起作用。这样SpringMVC的自动配置和我们的配置类也会被调用。

SpringBoot如何扩展与全面接管SpringMVC

6、如果SpringBoot对SpringMVC的自动配置不需要,所有都是我们自己配置,只需要增加注解@EnableWebMvc注解。这样所有的SpringMVC自动配置都会失效。

7、为什么加了@EnableWebMvc自动配置就失效了。

SpringBoot如何扩展与全面接管SpringMVC
SpringBoot如何扩展与全面接管SpringMVC
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢