继承之后,我们需要提供三方面信息,一个是用于注册到根容器中的类,一个是用于注册到Servlet容器中的类,一个是核心Servlet的映射URL。
注意,这里说的容器指的是Spring的ApplicationContext这个容器,其中根容器和Servlet容器是父子关系,且在SpringMVC中核心Servlet映射的URL必须是“/”。
下面给出一个我在几年前为公司搭建框架时的代码,如下图04:
这就是以编程的方式来完成SpringMVC的启动。我们自己定义的这个类就是前文提到的“感兴趣”的类。
这个类是不用(或不能)向Spring容器注册的,因为这个类是感兴趣的类,所以Tomcat会从jar包里把它找出来,这样SpringMVC就拿到了我们定义的这个类。
其实最主要的是这时候根本还没有Spring容器呢,哈哈,因为Spring容器就是在这个类里才创建出来的,有点意思吧。
其实这个类里包含的内容非常多,我们都可以使用写代码的方式来进行配置。下面举几个示例。
比如对核心Servlet的一些定制化设置,如下图05:
比如可以加进去一些自己需要的过滤器,如下图06:
比如可以对文件上传进行一些配置,如下图07:
当然,还可以介入到Spring容器的初始化过程中,进行一些额外的操作,如激活特定的Profile等,如下图08:
启动过程中做的事情
其实前面已经说了一些了,这里再来个完整版的,主要包括的事情有:
1、创建根容器。
2、然后把根容器放入ServletContext中。
3、接着创建Servlet容器。
4、然后使用Servlet容器去创建核心Servlet。
5、接着把核心Servlet注册到ServletContext中。
6、接着再注册一些过滤器。
下面我们使用几张图把这些内容一个个展示一下,需要详细了解的可以去看看对应的源码。
创建根容器,可以看到是基于注解的容器类,如下图09:
将根容器放入ServletContext中,因为ServletContext在应用运行期间一直存在,所以根容器是一个全局性的,也一直存在,如下图10:
创建Servlet容器,容器类也是基于注解的,和根容器类是一样的,如下图11:
使用Servlet容器去创建核心Servlet,如下图12:
把核心Servlet注册到ServletContext中,如下图13:
最后就是注册一些过滤器了,如下图14:
最后
由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+点击【学习资料】即可免费领取!
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
,这些资料都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!