博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
读书笔记:架构探险 从零开始写javaweb框架 第三章
阅读量:6885 次
发布时间:2019-06-27

本文共 1346 字,大约阅读时间需要 4 分钟。

边看书边跟着敲代码,学着搭一个springmvc的简单框架,代码我放在了GitHub上:


主要类:

annotation.Action类:Action注解

annotation.Controller类:Controller注解
annotation.Inject类:Inject注解
annotation.Service类:Service注解

bean.Data类:返回数据对象,如果是Data类型,则返回json数据,有Object model字段

bean.Handler类:用于封装Action信息,有Method actionMethod,Class<?> controllerClass字段
bean.Param类:请求参数对象,用于封装url请求参数,有Map<String,Object> paramMap字段
bean.Request类:封装请求信息,有requestmethod和requestPath字段
bean.View类:返回视图对象,有path,Map<String,Object> model字段

helper.BeanHelper类:定义Bean映射(用于存放Bean类和Bean实例的映射关系),有Map<Class<?>,Object> BEAN_MAP字段

helper.ClassHelper类:定义类集合(用于存放所加载的类),BEAN_MAP的数据来源,在本项目为所有使用了@Controller注解或@Service注解的类的Map<Class<?>,Object>,内含CLASS_SET字段
helper.ConfigHelper类:默认配置类,通过PropsUtil读取配置字段
helper.ControllerHelper类:内含Map<Request,Handler>ACTION_MAP字段,用于存放请求和处理器的映射关系,初始化时,会将所有@controller注解的类进行分析,是否有@Action注解的方法,如果有,则将其分析成request和handler,放入ACTION_MAP中
helper.IocHelper类:实现IOC依赖注入的类
helper.DatabaseHelper类:数据库相关的类

util.CastUtil类:类型转换工具类

util.ClassUtil类:加载类工具类,loadClass,getClassSet等方法
util.CodeUtil类:编码工具类
util.PropsUtil类:配置文件读取工具类
util.RelectionUtil类:反射工具类,newInstance,invokeMethod,setField(设置成员变量)等方法
util.StreamUtil类:输入输出流工具类

ConfigConstant类:默认配置类

DispatcherServlet类:请求转发器类

第三章主要讲了两个部分,一个是IOC依赖注入,一个是DispatcherServlet请求转发,下面是两部分的流程:

IOC


学习资料

servlet,ServletContext,servletConfig的区别

ServletRegistration

RequestDispatcher

转载地址:http://uenbl.baihongyu.com/

你可能感兴趣的文章
CSS实现背景透明,文字不透明(各浏览器兼容)
查看>>
【转】[大学引导]超级链接、字体颜色、音乐播放公式
查看>>
T-SQL中INSERT、UPDATE
查看>>
Linux下Nginx服务器配置Modsecurity实现Web应用防护系统
查看>>
openSUSE13.2安装ruby和rails
查看>>
python 高级函数
查看>>
F.Cards with Numbers
查看>>
简单入门Buffer
查看>>
OO第四阶段总结
查看>>
javascript总结02
查看>>
创建windows服务
查看>>
HTML5 入门基础
查看>>
【转载】读懂IL代码就这么简单(二)
查看>>
C++文件操作(fstream)
查看>>
用main函数传参做简单的计算器的代码
查看>>
python中struct.unpack的用法
查看>>
体绘制(Volume Rendering)概述之4:光线投射算法(Ray Casting)实现流程和代码(基于CPU的实现)...
查看>>
Python实践之(七)逻辑回归(Logistic Regression)
查看>>
PAT (Advanced Level) 1107. Social Clusters (30)
查看>>
【开源社群系统研发日记五】ThinkSNS+ 是如何计算字符显示长度的
查看>>