1572662

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

所谓的@EnableWebMvc全面接管SpringMVC的自动配置,是指@EnableWebMvc注解会使SpringMVC的自动配置失效,原理如下:

1、查看@EnableWebMvc的源码,如下图:

 

 即导入了DelegatingWebMvcConfiguration.class类,查看该类的源码,如下图:

  

 

 即导入的类继承自WebMvcConfigurationSupport类,所以也理解为导入了WebMvcConfigurationSupport类

2、查看SpringMVC的自动配置类WebMvcAutoConfiguration,内容如下图:

 

 即SpringMVC的自动配置类生效的一个前提条件是容器中不能含有WebMvcConfigurationSupport.class类;

而我们在步骤1中讲到,当使用@EnableWebMvc注解的时候,会向容器中导入WebMvcConfigurationSupport类,

所以会导致SpringMVC的自动配置失效。

 

理解不到之处,望指正。

 

 

 

posted on 2019-11-22 10:46  1572662  阅读(327)  评论(0)    收藏  举报