一个小时,200行代码,手写Spring的IOC、DI、MVC

本文详细介绍了Spring MVC的配置、初始化和运行阶段。配置阶段涉及application.xml和注解配置,初始化阶段包括加载配置、扫描类、初始化IOC容器及HandlerMapping。运行阶段则讨论了如何处理用户请求和返回响应。通过重写HTTPServlet的init、doGet和doPost方法,结合web.xml配置,实现了Spring的MVC流程。关键词涵盖Spring、IOC容器、DI、HandlerMapping和注解配置。

一、概述

配置阶段:主要是完成application.xml配置和Annotation配置。

初始化阶段:主要是加载并解析配置信息,然后,初始化IOC容器,完成容器的DI操作,已经完成HandlerMapping的初始化。

运行阶段:主要是完成Spring容器启动以后,完成用户请求的内部调度,并返回响应结果。

 二、配置

1、pom内部只使用servlet作为依赖

2、创建GPDispatcherServlet类继承HTTPServlet,重写init、doGet(调用后者)和doPost

3、web.xml配置servlet类以及初始化参数,即Spring的配置文件contextConfigLoaction=application.properties(内部配置扫描的包)

3、配置注解service、controller(本质是接口)以及元注解

 4、可以进行测试-resp.getWriter().write(xxx)

三、初始化阶段

1、声明所需的成员变量---IOC<S,O>,urlde handlerMapping<S,M>

2、init方法实现:加载配置、扫描相关的类、初始化类实例并保存到ioc容器、依赖注入、构造handlerMapping

3、doLoadConfig()

4、doScanner():递归扫描类文件

5、doInstance():对类初始化并放至容器

6、doAutowired():DI操作,将需要赋值的字段赋值

7、initHandlerMapping():映射,将url和方法关联

四、运行阶段

1、doPost内部调用doDispatch

2、doDispatch():获取参数列表,,初始化类,根据url,利用反射机制,调用方法

参考资料:https://gper.club/articles/7e7e7f7ff0g52gce

录播链接:https://pan.baidu.com/s/1YGJ5xFVIWYjalHdwwipxlg 

提取码:优快云

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值