首页 > 其他分享 >【框架】SSM整合

【框架】SSM整合

时间:2022-10-12 23:34:55浏览次数:78  
标签:拦截器 框架 用户 接口 SSM 整合 异常

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

标签:拦截器,框架,用户,接口,SSM,整合,异常
From: https://www.cnblogs.com/mlstudyjava/p/16778756.html

相关文章

  • IO框架(Java)
    IO框架流的概念概念:内存与存储设备之间传输数据的通道流的分类按方向输入流:将<存储设备>中的内容读入到<内存>中(read)输出流:将<内存>中的内容写入到<存储......
  • 【杂谈】一招,同时可视化18个开源框架的网络模型结构和权重
    深度学习开源框架众多,对于开发者来说其中有一个很硬的需求,就是模型结构和权重的可视化。使用过Caffe的同学都因为强大的Netscope可以离线修改实时可视化网络结构而暗爽,那其......
  • 经典框架Kaldi配套的语音识别实战
    周末到了,给大家送上一本重磅书籍,语音识别领域重要框架Kaldi配置的书籍,书为《Kaldi语音识别实践》。本书内容这是一本以Kaldi框架为工具,讲解语音识别中核心技术的书籍,书籍各......
  • Swoft2.x框架开发实战 【未学习】
    https://www.bilibili.com/video/BV1bJ411j7Bv/?spm_id_from=333.337.search-card.all.click&vd_source=4a69745b599dffec877b0fcfe130b092......
  • SpringBoot整合Kafka集群
    前言SpringBoot中集成Kafka,主要目的干啥呢,当然消息推送啦。不同系统之间,自身系统不同组件之间消息通信的一种方式,也可以是使用MQ。使用消息系统的目的主要就是为了解耦、......
  • Python定时任务框架APScheduler
    原文:https://blog.csdn.net/kobepaul123/article/details/123616575在日常工作中,如果想要简化工作流程实现办公自动化,那么几乎有大半的功能模块都需要使用定时任务,例如定......
  • Python全栈工程师之从网页搭建入门到Flask全栈项目实战(2) - 入门前端框架Bootstrap
    Bootstrap框架介绍Bootstrap是最受欢迎的HTML、CSS和JS框架,用于开发响应式布局、移动设备优先的WEB项目Bootstrap的特点Bootstrap让前端开发更快速、简单所有开发者都......
  • 【GAN优化】一览IPM框架下的各种GAN
    今天的这篇小文将是GAN模型理论介绍的最后一篇。有一些内容,所用数学技巧和方法非常高大上,理论结果也非常漂亮,但是完全搞明白其中的门门道道需要相当大精力和知识铺垫,况且实......
  • 项目整合spring邮箱starter
    邮件发送的基本过程与概念(摘自小滴课堂大课)邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中电子邮箱:用户......
  • gin框架笔记
    1、实现http://127.0.0.1:8080/index.html的形式访问前端页面。gin-contrib/static使用中间件的方式判断是否存在该静态文件。fileserver是一个Handler,判断fs中是否有......