• Spring MVC & Mybatis 模拟总结


    基本思想:

    【1】通过读取xml配置文件配置基本信息

          -在服务启动之前,监听器阶段实现:bean各个实体类的注入

          -采用的模式:包括不限于工厂模式、单例模式、抽象类与接口综合应用、工具类封装、模拟一二三级缓存【后期中间件提升效率】、

          -监听器与服务之间:servletContext-application实现信息

    【2】bean注入、mapper&代理接口的注入

          -正则表达式 解析sql语句 > 字符串拼接进一步提升效率【注意转义字符的使用】

          -服务跨域问题 & json字符串处理 & 区分文件上传与表单上传

          -通过反射配置:setget方法名、属性类型、名称获取

    【3】响应请求与解析 、 JSon字符串

        -直接调用ObjectMapper  api接口: writeValueAsString

        -request.getServletContext().getContextPath() 获取工程名   &   request.getRequestURI() 获取解析路径

    基本配置文件设置:面向对象思想,每个文件有一个对应实体类对应

    【1】通过配置web.xml文件地形式:实现监听器Listenner与Servlet服务peizhi 【过滤器等等】

    【2】通过application.xml:对各种bean实体类的信息配置:

         -name:实体访问名称;class:实体类对应的全类名

         -properties子节点配置属性信息:name value :常见基本数据类型

         -对于嵌套的实体类通过:name ref [注意:必须跟实际实体类属性名称一致]——后续通过反射获取setget方法需要属性名保持一致

    【3】通过mapper.xml:实现对数据库操作sql的配置:

         -根节点:namespace  用于配置dao层的全类名  + 跟子节点的name:dao接口的API方法  综合确定最终执行的封装sql方法——selectupdatedeleteinsert

         -字节点通过:selectupdatedeleteinsert 进行配置:

              -name:对应API接口方法名,

              -parameterType:参数类型、 resultType:返回值类型

              -sql语句配置

    【4】pom:常用依赖配置

    封装各个系统之间的调用

    【1】MVC

          -controller:用户交互层

          -service:业务层

          -dao:操作数据层

          -entity:数据库实体类

    【2】Spring

          -entity:bean实体类封装

          -util:获取对应包路径下的所有class文件

          根路径:

               -调用解析bean:

               -调用解析mapper:

               -

          Spring-MVC:

               -annotation层:主要是对用户交互层controller类进行注解:

                        -识别bean实体类中定位controller-bean

                        -请求调用字段、请求响应、实体类方法参数注解

               -实体类:用于处理返回:转发重定向内容

              -处理controller每一个API方法对应一个 HanderMap实体,保存相关API、参数+参数类型、controller、访问地址     HanderChain:对应方法的反射实现

          Spring-Mybatis:

               -DaoProxy:实现dao接口的代理调用--获取mybatis封装好的session代理类进行操作数据库

               -

    【2】Mybatis

          -通过反射封装sqlSession接口的实现类,实现对mybatis操作数据库的封装

    注意:

    【1】工程的web路径修改:通过propertity中找到web project setting:root form更改工程名、

  • 相关阅读:
    CNN网络架构演进:从LeNet到DenseNet
    Dropout VS Batch Normalization
    Batch Normalization
    达梦数据库序列号升级的办法
    [Function Programming] Function modelling -- 9. Monad Transformers
    [Functional Programming] Function modelling -- 8. Compose Functors
    [Javascript] HTML5 DOM project
    [ML L3] SVM Intro
    博客粘贴图片自动上传到服务器(Java版)
    wordpress粘贴图片自动上传到服务器(Java版)
  • 原文地址:https://www.cnblogs.com/macro-renzhansheng/p/13458233.html
Copyright © 2020-2023  润新知