美文网首页
读书笔记:架构探险 从零开始写javaweb框架-第三章

读书笔记:架构探险 从零开始写javaweb框架-第三章

作者: Hiwayz | 来源:发表于2018-09-14 15:35 被阅读34次

    边看书边跟着敲代码,学着搭一个springmvc的简单框架,代码我放在了GitHub上:
    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

    image.png image.png

    学习资料

    servlet,ServletContext,servletConfig的区别

    https://blog.csdn.net/u012077981/article/details/17137705

    https://blog.csdn.net/mingyang_2016/article/details/79117726

    ServletRegistration

    https://www.cnblogs.com/qihuan/p/3724993.html

    RequestDispatcher

    https://www.cnblogs.com/lulipro/p/7471987.html

    相关文章

      网友评论

          本文标题:读书笔记:架构探险 从零开始写javaweb框架-第三章

          本文链接:https://www.haomeiwen.com/subject/vlmogftx.html