spring MVC 总结

总结

Spring MVC

  • Spring MVC 是 Spring 给我们提供的一个用于简化 Web 表现层开发的框架,是对Servlet的封装
  • 第一部分:Spring MVC应用
    • [理解] 回顾对Spring MVC 的认知
      • 从三层架构&MVC模式引入
      • Spring MVC是什么
        • 本质:Spring MVC 本质是对servlet的封装,简化了我们serlvet的开发
        • 作用:1)接收请求 2)返回响应,跳转页面
    • Spring MVC 工作机制
      • [掌握] Spring MVC 开发过程(编程模型)
        • 1)配置DispatcherServlet前端控制器
        • 2)开发处理具体业务逻辑的Handler(@Controller、@RequestMapping)
        • 3)xml配置文件配置controller扫描,配置springmvc三大件
        • 4)将xml文件路径告诉Spring MVC(DispatcherServlet)
      • [理解] Spring MVC 的请求处理流程
      • [了解] Spring MVC 九大件
        • HandlerMapping(处理器映射器)
        • HandlerAdapter(处理器适配器)
        • HandlerExceptionResolver(处理器异常解析器)
        • ViewResolver(视图解析器)
        • RequestToViewNameTranslator(请求视图名转换器)
        • LocaleResolver(区域化解析器)
        • ThemeResolver(主题解析器)
        • MultipartResolver(多部件解析器)
        • FlashMapManager(闪存管理器)
    • [掌握] Spring MVC 请求参数绑定
      • Servlet API
      • 绑定简单类型参数
      • 绑定Pojo类型参数
      • 绑定Pojo包装对象参数
      • 绑定日期类型参数(需要配置自定义类型转换器,实现Converter接口)
    • [掌握] Spring MVC 对Restful风格请求的支持
      • @PathVariable注解的使用
    • [掌握] Spring MVC 对Ajax Json 的支持
      • @RequestBody
      • @ResponseBody
        • @ResponseBody注解的作用是将Handler方法返回的对象转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据
        • 注意:在使用此注解之后不会再走视图处理器,而是直接将数据写入到输出流中,他的效果等同于通过response对象输出指定格式的数据
  • 第二部分:Spring MVC 高级技术
    • [掌握]拦截器(Inteceptor)
      • 监听器、过滤器和拦截器对比
      • 拦截器的执行流程
        • 单个拦截器
        • 多个拦截器
      • 自定义拦截器(实现HandlerInterceptor接口)
    • [掌握]处理Multipart形式的数据
      • 注意配置MultipartResolver,id固定为multipartResolver
    • [掌握]异常处理机制
    • [了解]基于Flash属性的跨重定向请求数据传递
  • 第三部分:手写 MVC 框架
    • [理解]思路梳理
    • [掌握]编码部分
  • 第四部分:源码剖析
    • 前端控制器DispatcherServlet的代码结构
    • 重要时机点分析
      • Handler方法的执行时机
      • 页面渲染时机(打断点并观察调用栈)
      • 得出结论
        • SpringMVC处理请求的流程即为org.springframework.web.servlet.DispatcherServlet#doDispatch方法的执行过程
        • 1)调用getHandler()获取到能够处理当前请求的执行链 HandlerExecutionChain(Handler+拦截器)
        • 但是如何去getHandler的?后面进行分析
        • 2)调用getHandlerAdapter();获取能够执行1)中Handler的适配器
        • 但是如何去getHandlerAdapter的?后面进行分析
        • 3)适配器调用Handler执行ha.handle(总会返回一个ModelAndView对象)
        • 4)调用processDispatchResult()方法完成视图渲染跳转
    • 核心步骤剖析
      • 核心步骤getHandler方法剖析
      • 核心步骤getHandlerAdapter方法剖析
      • 核心步骤ha.handle方法剖析
      • 核心步骤processDispatchResult方法剖析
    • SpringMVC九大组件初始化
  • 第五部分:SSM 整合
    • 注意方法策略!!!
    • 整合策略
      • SSM = Spring + SpringMVC + Mybatis = (Spring + Mybatis)+ SpringMVC
      • 先整合 Spring + Mybatis
      • 然后再整合 SpringMVC
    • Mybatis整合Spring整合目标
      • 数据库连接池以及事务管理都交给Spring容器来完成
      • SqlSessionFactory对象应该放到Spring容器中作为单例对象管理
      • Mapper动态代理对象交给Spring管理,我们从Spring容器中直接获得Mapper的代理对象
    • 再整合SpringMVC
      • 思路:在已有工程基础之上开发一个SpringMVC入门案例而已

Spring Data Jpa

  • Spring Data Jpa 是应用于Dao层的一个框架,简化数据库开发的,作用和Mybatis框架一样,但是在使用方式和底层机制是有所不同的。最明显的一个特点,Spring Data Jpa 开发Dao的时候,很多场景我们连sql语句都不需要开发。由Spring出品。
  • 第一部分:Spring Data JPA 介绍回顾
    • 什么是 Spring Data JPA
      • Spring Data JPA 是 Spring 基于JPA 规范的基础上封装的一套 JPA 应用框架,可使开发者用极简的代码即可实现对数据库的访问和操作。它提供了包括增删改查等在内的常用功能!学习并使用 Spring Data JPA 可以极大提高开发效率。
      • 说明:Spring Data JPA 极大简化了数据访问层代码。
      • 如何简化呢?使用了Spring Data JPA,我们Dao层中只需要写接口,不需要写实现类,就自动具有了增删改查、分页查询等方法。
      • 使用Spring Data JPA 很多场景下不需要我们自己写sql语句
  • 第二部分:Spring Data JPA、JPA规范和Hibernate之间的关系
  • 第三部分:Spring Data JPA 应用
    • 开发步骤
      • 创建工程导入坐标(Java框架于我们而言就是一堆jar)
      • 配置 Spring 的配置文件(配置指定框架执行的细节)
      • 编写实体类 Resume,使用 JPA 注解配置映射关系
      • 编写一个符合 Spring Data JPA 的 Dao 层接口(ResumeDao接口)
        • public interface ResumeDao extends JpaRepository<Resume,Long>, JpaSpecificationExecutor<Resume>
      • 操作 ResumeDao 接口对象完成 Dao 层开发
    • Dao层应用方式
      • 调用继承的接口中的方法 findOne(),findById()等
      • 可以引入jpql
      • 可以引入原生的sql语句
      • 可以在接口中自定义方法,而且不必引入jpql或者sql语句,这种方式叫做方法命名规则查询,比如:findByNameLikeAndAddress
      • 动态查询Specification
  • 第四部分:Spring Data JPA 执行过程源码分析
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容