SpringBoot如何扩展与全面接管SpringMVC

 时间:2026-04-23 11:17:10

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;

@Configuration

public 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

  • SpringMvc启动过程详解
  • redis各个数据类型常用命令
  • 使用Fiddler对app进行抓包
  • 如何让Fiddler重复请求某个接口
  • sql 增删改操作
  • 热门搜索
    智齿发炎肿痛怎么办 兕怎么读 qq怎么改密码 叩怎么读 王者荣耀小队怎么退出 爱奇艺会员怎么取消自动续费 淘宝怎么开网店步骤 家常豆腐的做法视频 石斛怎么读 淘宝店铺怎么开