SSM整合基础

整体知识架构

  • SSM整合
  • 表现层数据封装
  • 异常处理器
  • 项目异常处理方案
  • 案例:SSM整合标准开发

SSM整合

SSM整合流程

  1. 创建工程
  2. SSM整合
    • Spring
      • SpringConfig
    • MyBatis
      • MyBatisConfig
      • JdbcConfig
      • jdbc.properties
    • SpringMVC
      • ServletConfig
      • SpringMvcConfig
  3. 功能模块
    • 表与实现类
    • dao(接口 + 自动代理)
    • service(接口 + 实现类)
      • 业务层接口测试(整合JUnit)
    • controller
      • 表现层接口测试(PostMan)
  4. 事务
    • 开启注解 是事务驱动
    • 配置事务管理器
    • 添加事务

Spring整合MyBatis

  • 配置
    • SpringConfig
    • JDBCConfig、jdbc.properties
    • MyBatisConfig
  • 模型
    • Book
  • 数据层标准开发
    • BookDao
  • 业务层标准开发
    • BookService
    • BookServiceImpl
  • 测试接口
    • BookServiceTest
  • 事务处理
    image

Spring整合SpringMVC

  • web配置类
    image
  • SpringMVC配置类
    image
  • 基于RESTful的Controller开发
    image

写好的代码放在gitee了
https://gitee.com/cvmohen/learning-notes—source-code.git

表现层数据封装(※前后端协议 根据项目组约定进行)

  • 前端接收数据格式——封装操作结构到code属性中
  • 前端接收数据格式——封装特殊消息到message(msg)属性中
    image
    • 如果code最后一位是0 则操作失败不取数据(data),提示用户信息(msg对应内容)

异常处理器

异常种类

出现异常现象的常见位置与常见诱因如下:
image

  1. 各个层级出现异常,异常处理代码书写在哪一层—
    • 所有的异常均抛出到表现层进行处理
  2. 表现层处理异常,每个方法中单独书写,代码量巨大且意义不强
    • AOP思想

异常处理器

  • 集中的、统一的处理项目中出现的异常
    image

项目异常分类

  • 业务异常
    • 规范的用户行为产生的异常
    • 不规范的用户行为操作产生的异常
  • 系统异常
    • 项目运行过程中可预计且无法避免的异常
  • 其他异常
    • 编程人员未预期到的异常

项目异常处理方案

  • 业务异常
    • 发送对应消息传递给用户,提醒规范操作
  • 系统异常
    • 发送固定消息传递给用户,安抚用户
    • 发送特定消息给运维人员,提醒维护
    • 记录日志
  • 其他异常
    • 发送固定消息传递给用户,安抚用户
    • 发送特定消息给编程人员,提醒维护(纳入预期范围内)
    • 记录日志

项目异常处理步骤

  1. 自定义项目系统级异常 SystemException 继承RuntimeException
  2. 自定义项目业务级异常 BusinessException 继承RuntimeException
  3. 自定义异常编码(持续补充) Code类中加入
  4. 触发自定义异常 if(){throw new BusinessException( , , );}
  5. 拦截并处理异常(ProjectExceptionAdvice)
    • 业务异常:直接处理,返回用户消息
    • 系统异常、其他异常:记录日志、给开发人员、运维人员发送消息
  6. 异常处理器效果对比
    image

拦截器

拦截器简介

image
image

拦截器和过滤器的区别

image

入门案例

  1. image
  2. image
  3. image

简化写法:SpringMvcConfig类直接实现WebMvcConfigurer接口 亦可以实现步骤2、3,减少了扫描的过程
image

执行流程

image
image

拦截器参数

可以从拦截器中,获取一些响应信息
image
image

拦截器链配置

拦截器链:多个拦截器

多个拦截器执行顺序

image

  1. 只要有前置return false 则所有post都不会执行
  2. 前置进入是1→2→3,则出正好相反3→2→1
    image

原文地址:http://www.cnblogs.com/mlstudyjava/p/16778756.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性