【黑马程序员】SSM框架——SSM整合

文章目录

  • 前言
  • 一、SSM 整合
    • 1. SSM 整合思路
      • 1.1 Spring 整合 MyBatis
        • 配置
        • 模型
        • 数据层标准开发
        • 业务层标准开发
        • 测试接口
        • 事务处理
      • 1.2 Spring 整合 SpringMVC
        • web 配置类
        • SpringMVC 配置类
        • 基于 Restful 的 Controller 开发
    • 2. SSM 整合具体实现
      • 2.1 创建工程
      • 2.2 SSM 整合
        • Spring
        • MyBatis
        • SpringMVC
      • 2.3 功能模块
        • 表与实现类
        • dao(接口+自动代理)
        • service(接口+实现类)
          • 业务层接口测试(整合JUnit)
        • controller
          • 表现层接口测试(Postman)
      • 2.4 事务处理
  • 二、表现层数据封装
    • 设置统一数据返回结果类
    • 设置统一数据返回结果编码
    • 根据情况设定合理的 Result
  • 三、异常处理器
    • 1. 异常的常见类型
    • 2. 异常处理器写法
      • 异常处理器处理效果
    • 3. 常见注解
      • @ExceptionHandler
  • 四、项目异常处理方案
    • 1. 项目异常分类
    • 2. 项目异常处理方案
    • 3. 项目异常处理操作流程
      • 1. 自定义项目系统级异常
      • 2. 自定义项目业务级异常
      • 3. 自定义异常编码
      • 4. 触发自定义异常
      • 5. 拦截并处理异常
      • 6. 异常处理器效果对比
  • 五、案例:SSM 整合标准开发
  • 总结


前言

跟着B站的黑马程序员学习SSM框架,语言为java,目前是第三个学习内容
课程传送门:SSM框架——SSM整合


一、SSM 整合

1. SSM 整合思路

1.1 Spring 整合 MyBatis

配置
  • SpringConfig
    在这里插入图片描述

  • JDBCConfig
    在这里插入图片描述

  • jdbc.properties
    在这里插入图片描述

  • MyBatisConfig
    在这里插入图片描述

模型
  • Book
    在这里插入图片描述
数据层标准开发
  • BookDao
    在这里插入图片描述
业务层标准开发
  • BookService
    在这里插入图片描述

  • BookServiceImpl
    在这里插入图片描述

测试接口
  • BookServiceTest
    在这里插入图片描述
事务处理

在这里插入图片描述

1.2 Spring 整合 SpringMVC

web 配置类

在这里插入图片描述

SpringMVC 配置类

在这里插入图片描述

基于 Restful 的 Controller 开发
  • 添加
    在这里插入图片描述

  • 修改、删除
    在这里插入图片描述

  • 查询全部、根据 id 查询
    在这里插入图片描述

2. SSM 整合具体实现

2.1 创建工程

  • ① 创建模块
  • ② 完整化格式(java、test)
  • ③ 导入相关坐标
    在这里插入图片描述

2.2 SSM 整合

在这里插入图片描述

Spring
  • SpringConfig
    在这里插入图片描述
MyBatis
  • MyBatisConfig
    在这里插入图片描述

  • JdbcConfig
    在这里插入图片描述

  • jdbc.properties
    在这里插入图片描述

SpringMVC
  • ServletConfig
    在这里插入图片描述

  • SpringMvcConfig
    在这里插入图片描述

2.3 功能模块

表与实现类

在这里插入图片描述

dao(接口+自动代理)

在这里插入图片描述

service(接口+实现类)
  • BookService
    在这里插入图片描述- BookServiceImpl
    在这里插入图片描述
业务层接口测试(整合JUnit)

在这里插入图片描述

controller

在这里插入图片描述

表现层接口测试(Postman)

在这里插入图片描述

2.4 事务处理

  • 第一步
    在这里插入图片描述

  • 第二步
    在这里插入图片描述

  • 第三步
    在这里插入图片描述

二、表现层数据封装

在这里插入图片描述

设置统一数据返回结果类

在这里插入图片描述

设置统一数据返回结果编码

在这里插入图片描述

根据情况设定合理的 Result

在这里插入图片描述

三、异常处理器

在这里插入图片描述

1. 异常的常见类型

在这里插入图片描述

2. 异常处理器写法

问1:各层级均出现异常,异常处理代码书写在哪一层?

答:所有的异常均抛出到表现层进行处理。

问2:表现层处理异常,每个方法中单独书写,代码书写量巨大且意义不大,如何解决?

答:AOP 思想

将异常统一处理,即向上抛,数据层的抛给业务层,业务层的抛给表现层。
在这里插入图片描述

异常处理器处理效果

在这里插入图片描述

3. 常见注解

@ExceptionHandler

在这里插入图片描述

四、项目异常处理方案

  • 用户行为
    在这里插入图片描述

  • 非用户行为
    在这里插入图片描述

1. 项目异常分类

  • 业务异常(BusinessException)
    ① 规范的用户行为产生的异常
    ② 不规范的用户行为操作产生的异常

  • 系统异常(SystemException)
    ① 项目运行过程中可预计且无法避免的异常

  • 其他异常(Exception)
    编程人员未预期到的异常

2. 项目异常处理方案

  • 业务异常(BusinessException)
    ① 发送对应消息传递给用户,提醒规范操作

  • 系统异常(SystemException)
    ① 发送固定消息传递给用户,安抚用户
    ② 发送特点消息给运维人员,提醒维护
    ③ 记录日志

  • 其他异常(Exception)
    ① 发送固定消息传递给用户,安抚用户
    ② 发送特点消息给运维人员,提醒维护(纳入预期范围内)
    ③ 记录日志

3. 项目异常处理操作流程

1. 自定义项目系统级异常

在这里插入图片描述

2. 自定义项目业务级异常

在这里插入图片描述

3. 自定义异常编码

在这里插入图片描述

4. 触发自定义异常

在这里插入图片描述

5. 拦截并处理异常

在这里插入图片描述

6. 异常处理器效果对比

在这里插入图片描述

五、案例:SSM 整合标准开发

该模块总结不够详细,有需要前往视频观看哈
传送门:SSM 整合标准开发
在这里插入图片描述


总结

以上就是本章要讲的内容,本文仅仅简单复述了老师讲课的文本内容,内容有误麻烦联系。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/115343.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

初识Vue 解决vue在启动时生成的提示

让我为大家简单介绍一下吧&#xff01; Vue是一套用于构建用户界面的渐进式javaScript框架 当我们引入vue.js后 <script src"../js/vue.js"></script>我们发现&#xff0c;当我们打开网页时&#xff0c;控制台会出现以下内容 那我们该怎么解决呢&…

tolua中table.remove怎么删除表中符合条件的数据

tolua中table.remove怎么删除表中符合条件的数据 介绍问题&#xff08;错误方式删除数据&#xff09;正确删除方案从后向前删除递归方式删除插入新表方式 拓展一下总结 介绍 在lua中删除表中符合条件的数据其实很简单&#xff0c;但是有一个顺序问题&#xff0c;因为lua的表中…

机器视觉行业最大的污点是什么?99%机器视觉公司存在测量项目数据造假,很遗憾,本人不没有恪守技术的本分

机器视觉行业最大的污点是什么&#xff1f;99%机器视觉公司存在测量项目数据造假&#xff0c;很遗憾&#xff0c;本人没有恪守技术的本分。 1%是没做过机器视觉测量项目&#xff0c;我们应该具体分析和具体判断&#xff0c;更应该提高自己的认知能力和技术能力。 那我们​在现场…

Tomcat下载地址(详细)

Apache Tomcat - Apache Tomcat 8 Software Downloadshttps://tomcat.apache.org/download-80.cgi2.找到Archives 3.选择下载的把版本 4.选择具体下载那个版本 5. 6.一般选择tar.gz结尾的压缩包

蓝桥杯每日一题2023.10.31

题目描述 全球变暖 - 蓝桥云课 (lanqiao.cn) 题目分析 果然有关连通块类的问题使用dfs都较为好写~~ 我们可以通过判断连通块的代码来加上部分条件算出被完全淹没的岛屿个数 在岛屿中如果有为"#"的a[i][j]上下左右全部是"#"则说明此岛屿一定不会被完全…

英伟达禁令之后,中国AI计算何去何从?

10月17日&#xff0c;美国加强了面向中国市场的AI芯片禁令。其中明确将性能、密度作为出口管制标准&#xff0c;将单芯片超过300teraflops算力&#xff0c;以及性能密度超过每平方毫米370gigaflops的芯片都纳入了禁止出口行列。 虽然在这一禁令下&#xff0c;AMD、英特尔等公司…

成人编程先学什么?成人编程一般要学几年

成人编程先学什么&#xff1f;成人编程一般要学几年 给大家分享一款中文编程工具&#xff0c;零基础轻松学编程&#xff0c;不需英语基础&#xff0c;编程工具可下载。 这款工具不但可以连接部分硬件&#xff0c;而且可以开发大型的软件&#xff0c;向如图这个实例就是用这个…

取消elementUI中table的选中状态和勾选状态赋值

一、取消所有选中 1、表格上绑定ref 2、清空用户选中数据 this.$refs.loopRef.clearSelection()二、勾选状态赋值 获取数据&#xff0c;flag为true则是选中状态&#xff0c;并将前面勾选框设为选中状态 this.listData.forEach(item> {if(row.flag1){this.$refs.loopRef.to…

数据分析实战 - 2 订单销售数据分析(pandas 进阶)

题目来源&#xff1a;和鲸社区的题目推荐&#xff1a; 刷题源链接&#xff08;用于直接fork运行 https://www.heywhale.com/mw/project/6527b5560259478972ea87ed 刷题准备 请依次运行这部分的代码&#xff08;下方4个代码块&#xff09;&#xff0c;完成刷题前的数据准备 …

【Kubernetes】初识k8s--扫盲阶段

文章目录 1、k8s概述2、为什么要有k8s2.1 回顾以往的应用部署方式2.2 容器具有的优势 3、k8s能带来什么 1、k8s概述 kubernetes是一个可移植、可扩展的开源平台&#xff0c;用于管理 容器化 的工作负载和服务&#xff0c;可促进申明式配置和自动化。kubernetes拥有一个庞大且快…

pb:导入EXCEL,提示“不能连接EXCEL”

pb:导入EXCEL,提示“不能连接EXCEL” ------------------------------------------------------------------------------------------------------------------------------- 1.pb连上EXCEL代码: //从EXCEL读取文件 STRING LS_PATH,LS_FILE,ls_file_tmp oleobject ole_1…

Day 5 登录页及路由 (三) 基于axios的API调用

系列文章目录 本系列记录一下通过Abp搭建后端&#xff0c;VueElement UI Plus搭建前端&#xff0c;实现一个小型项目的过程。 Day 1 Vue 页面框架Day 2 Abp框架下&#xff0c;MySQL数据迁移时&#xff0c;添加表和字段注释Day 3 登录页以及路由 (一&#xff09;Day 4 登录页以…

Redis学习系统(持续更新中)

RedisExample 课程介绍 目标是提供一个高效、可靠的学习和实践Redis的环境。我们将通过搭建Redis集群、实现缓存数据的持久化存储、制定缓存数据的淘汰策略以及同步缓存数据等步骤来深入了解和学习Redis的特性和功能。通过这个项目&#xff0c;你可以掌握Redis的核心概念和技…

网络安全演练(一句话木马)

在享受互联网带来的便利的同时&#xff0c;也充满了各种网络安全风险&#xff0c;本文通过搭建实验环境&#xff0c;演示一句话木马获取主机权限。 演示环境 服务端&#xff1a;安装LAMP环境&#xff0c;部署web网站&#xff0c;上传一句话木马文件 客户端&#xff1a;安装A…

【Hydro】不同潜在蒸散发计算方法说明

目录 一、基本概念说明蒸发 E E E、散发 T T T、蒸散发 E T ET ET潜在蒸散发 E T p ET_p ETp​、参考作物蒸散发 E T 0 ET_0 ET0​、实际蒸散发 E T a ET_a ETa​及作物实际蒸散发 E T c ET_c ETc​ 二、部分潜在蒸散发估算方法表三、SWAT模型中的潜在蒸散发计算Penman-Monteit…

尚硅谷大数据项目《在线教育之实时数仓》笔记005

视频地址&#xff1a;尚硅谷大数据项目《在线教育之实时数仓》_哔哩哔哩_bilibili 目录 第9章 数仓开发之DWD层 P031 P032 P033 P034 P035 P036 P037 P038 P039 P040 第9章 数仓开发之DWD层 P031 DWD层设计要点&#xff1a; &#xff08;1&#xff09;DWD层的设计依…

提示3D标题编辑器仍在运行怎么解决,以及3D标题编辑器怎么使用

在进行视频剪辑时&#xff0c;尤其是剪辑一些带有文字的开场视频&#xff0c;一般都会使用具有立体效果的3D标题&#xff0c;这样制作出来的视频效果不仅好看&#xff0c;还非常的炫酷&#xff0c;但是对于一些刚刚开始接触视频剪辑的小伙伴来说&#xff0c;可能对3D标题还不是…

【深度学习基础】Pytorch框架CV开发(2)实战篇

&#x1f4e2;&#xff1a;如果你也对机器人、人工智能感兴趣&#xff0c;看来我们志同道合✨ &#x1f4e2;&#xff1a;不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 &#x1f4e2;&#xff1a;文章若有幸对你有帮助&#xff0c;可点赞 &#x1f44d;…

VMware 虚拟机安装 CentOS 7

CentOS 7 1. 下载CentOS 7 iso镜像 Index of /centos/7.9.2009/isos/x86_64/ 2. Vmware安装CentOS 7 安装教程&#xff1a; 超详细VMware CentOS7(最小安装)安装教程_虚拟机最小化安装-CSDN博客 【精选】VMware 安装 Centos7 详细过程_vm虚拟机安装centos7_expectation Fu…

VBA快速动态考勤统计

实例需求&#xff1a;某公司的上下班打卡记录如下所示&#xff0c;其中Table_In为上班打卡记录&#xff0c;Table_Out为下班打卡记录。 现在需要根据日期整理为如下格式的考勤表。需要注意如下几点&#xff1a; 每天的打卡次数不确定最后一列Total/Day统计该天的出勤总时长&a…
最新文章