银川迅雷网站建设,c sql网站开发,备案做电影网站吗,微信商城怎么进文章目录 1. 提问#xff1a;如果让您分析Spring MVC的原理#xff0c;您如何开始分析呢2. 如何破局3. 资料参考 本文主要介绍#xff1a;如何分析
Bean方法存在继承 或
Bean方法中存在调用子类方法。 1. 提问#xff1a;如果让您分析Spring MVC的原理#xff0c;您如何… 文章目录 1. 提问如果让您分析Spring MVC的原理您如何开始分析呢2. 如何破局3. 资料参考 本文主要介绍如何分析
Bean方法存在继承 或
Bean方法中存在调用子类方法。 1. 提问如果让您分析Spring MVC的原理您如何开始分析呢
您可能想到从EnableWebMVC注解入手然后找到了DelegatingWebMvcConfiguration类哪怕找到了这个类还是感觉有点难是不是感觉有点绕。 假设是在Spring Boot环境中那更加麻烦了Boot多包装了一层自动装配又注册了不少相关的mvc的Bean。 如果是第一次看 MVC 原理感觉有点蒙正常作者也蒙太绕了如果不知道核心类WebMvcConfigurationSupport 根本绕不出来。 为什么感觉DelegatingWebMvcConfiguration有点绕呢
Bean实例化Bean实例化又会触发子类方法的执行子类方法的执行又要用到Bean组件又要触发Bean组件的实例化形成一个环了根本绕不出来如何破局。
2. 如何破局
首先是要简化
如果搞不定请您先不要去直接分析Spring Boot而是单独分析MVC。
如何破解复杂的Bean配置即带继承的Bean或Bean方法中又调用了子类的方法
之所以如此绕的关键在于在 Bean方法中存在继承关系 所以在今后遇到Bean方法有继承时一直往上找到“** 顶层类 **”查看顶层类的继承体系就是核心类。 以 MVC 为例 1、 当发现了存在Bean方法的继承找到顶层类即WebMvcConfigurationSupport 2、分析WebMvcConfigurationSupport 的继承体系找到DelegatingWebMvcConfiguration 3、现在破局了。 现在再看 MVC 原理https://www.yuque.com/yuchangyuan/kkc8mp/so2871z5pxlrbk34
找到关键类WebMvcConfigurationSupport 后再看 MVC 原理似乎简单不少。
3. 资料参考
Spring MVC源码分析https://gitee.com/firefish985/article-list/tree/master/Spring/Spring Web MVC