基本思想:
【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更改工程名、