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更改工程名、

原文地址:https://www.cnblogs.com/macro-renzhansheng/p/13458233.html