纯手写springMVC(基础版)

实现思路:
1.定义程序入口GdzDispatcherServlet
2.加载配置文件application.properties
3.扫描scanPackege包下所有的类
4.初始化包下的所有实例并保存到ConcurrentHashMap的IOC容器中
5.注入类的属性
6.将url和方法绑定,并保存到ConcurrentHashMap的HandlerMapping中

项目结构目录
在这里插入图片描述

程序的入口需要在web.xml中配置

在这里插入图片描述
核心入口类GdzDispatcherServlet继承了HttpServlet ,我们只需要重写它的init、doGet、doPost方法即可。在init方法中我们需要完成配置文件的加载,IOC容器的初始化和URL的映射绑定。因为init方从servlet创建到销毁只会调用一次,这样我们就可以保证我们初始化的IOC中的bean是单例的,这样可以减少因对象的频繁创建而带来的内存消耗和性能问题。

在这里插入图片描述

doPost方法,将url分发到对应的方法。
在这里插入图片描述
doLoadConfig方法加载配置文件
在这里插入图片描述

doScanner方法扫描包下的所有类
在这里插入图片描述
doInstance初始化bean
在这里插入图片描述
doAutowired注入实例
在这里插入图片描述
initHandlerMapping方法将url和相应的方法绑定

在这里插入图片描述
至此,SpringMVC基本功能已经具备。欢迎技术交流。

代码地址:https://github.com/dezhiguan/SpringMVC

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值