5.学习笔记-SpringMVC(P61-P70)

  1. SpringMVC-SSM整合-接口测试
    (1)业务层接口使用junit接口做测试
    在这里插入图片描述

(2)表现层用postman做接口测试
在这里插入图片描述

(3)事务处理—
1)在SpringConfig.java,开启注解,是事务驱动
在这里插入图片描述

2)配置事务管理器(因为事务管理器是要配置数据源对象,控制事务)—jdbcConfig.java
在这里插入图片描述

3)添加事务(把事务添加到业务层接口上)–BookService.java
@Transactional
在这里插入图片描述

2.SSM整合总结
(一)Spring整合MyBatis
1.配置
(1)SpringConfig
在这里插入图片描述

(2)JDBCConfig、jdbc.properties

在这里插入图片描述
在这里插入图片描述

(3)MyBatisConfig
在这里插入图片描述

2.模型
(1)Book
在这里插入图片描述

3.数据层标准开发
(1)BookDao
在这里插入图片描述

4.业务层标准开发
(1)BookService
在这里插入图片描述

(2)BookServiceImpl
在这里插入图片描述

5.测试接口
(1)BookServiceTest
在这里插入图片描述
6.事务处理
在这里插入图片描述

(二)Spring整合SpringMvc
(1)web配置类
如果有表单提交,需要添加乱码处理,添加一个过滤器。如果返回的是json数据,会直接在jackson当中进行处理。
在这里插入图片描述

(2)SpringMvc的配置类
在这里插入图片描述

(3)基于Restful的Controller开发
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.SSM整合-表现层与前端数据传输协议定义
(1)表现层数据封装
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.SSM整合-表现层
与数据展示有关的,是表现层(controller)
(1)result.java
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)code.java
在这里插入图片描述

(3)BookController
修改类型
在这里插入图片描述
5.SSM整合–异常处理器
(1)异常处理器
在这里插入图片描述

(2)异常出现的位置和原因
在这里插入图片描述

(3)各个层均出现异常,所有异常均抛出到表现层进行处理。(异常种类很多,所以要分类处理)。表现层处理异常,每个方法单独写,代码书写量巨大并且意义不强,所以我们采用AOP思想。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(4)业务层、数据层的异常怎么交到异常处理器中,异常目前只是在每一层报出来。
6.SSM整合-项目异常处理方案
在这里插入图片描述

在这里插入图片描述
添加构造方法,可以全加上。(按参数1个、2个、3个加入)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在controller中添加code.java(自定义异常的代码)
在这里插入图片描述
在这里插入图片描述

在controller下添加一个ProjectExceptionAdvice.java,定义业务异常和系统异常在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

7.SSM整合–前后台协议联调(列表功能)1.一般要吧css、js、pages、plugins、web-inf的文件复制粘贴到webapp下springMvc一般会自动拦截页面的请求,所以要进行放行。在Java的项目文件夹下的config下,添加新的类SpringMvcSupport。
(1)在config下创建新的类SpringMvcSupport
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(1)新增功能
在这里插入图片描述
在这里插入图片描述
(2)修改操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(3)删除操作
在这里插入图片描述
总结
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[论文阅读]REPLUG: Retrieval-Augmented Black-Box Language Models

REPLUG: Retrieval-Augmented Black-Box Language Models REPLUG: Retrieval-Augmented Black-Box Language Models - ACL Anthology NAACL-HLT 2024 在这项工作中,我们介绍了RePlug(Retrieve and Plug),这是一个新的检索增强型…

Mysql的深度分页查询优化

一、深度分页为什么慢? 当执行 SELECT * FROM orders ORDER BY id LIMIT 1000000, 10 时: MySQL 会扫描前 1,000,010 行,丢弃前 100 万行,仅返回 10 行。偏移量(offset)越大,扫描行数越多&…

最新扣子(Coze)案例教程:Excel数据生成统计图表,自动清洗数据+转换可视化图表+零代码,完全免费教程

大家好,我是斜杠君。 知识星球群有同学和我说每天的工作涉及很多数据表的重复操作,想学习Excel数据表通过大模型自动转数据图片的功能。 今天斜杠君就带大家一起搭建一个智能体,以一个销售行业数据为例,可以快速实现自动清洗Exc…

Uniapp 中缓存操作指南

在 Uniapp 中,你可以使用三种方式操作缓存:同步方法、异步方法和 Vuex 持久化存储。以下是详细的设置、获取和清除缓存的方法: 1. 同步方法 设置缓存 uni.setStorageSync(key, value); // 示例 uni.setStorageSync(token, abc123); 获取缓存 const value = uni.getStor…

k8s的yaml文件里的volume跟volumeMount的区别

volume 是 Pod 级别的资源,用于定义存储卷。它是一个独立于容器的存储资源,可以被一个或多个容器共享使用。volume 的定义位于 Pod 的 spec.volumes 部分。 特点 独立性:volume 是 Pod 的一部分,而不是容器的一部分。它独立于容…

梅毒单阳能否通过国企体检?

国企体检通常会参照公务员体检标准进行,梅毒检测是其中的常规项目。 一、明确“梅毒单阳”的定义 检测指标解析 TPPA阳性RPR阴性:可能为既往感染已治愈,或极早期/晚期梅毒; RPR阳性TPPA阴性:需警惕假阳性&#xff08…

Python 爬虫实战 | 企名科技

文章目录 一、企名科技1、目标网站2、网站特点3、确定解密位置4、扣js代码 一、企名科技 1、目标网站 网址:https://wx.qmpsee.com/articleDetail?idfeef62bfdac45a94b9cd89aed5c235be目标数据:获取消费行业研究下面的13篇文章数据 2、网站特点 服…

Pikachu靶场

本质是信任了不可信的客户端输入。防御核心: 永不信任客户端提交的权限参数(如 user_id, role)。强制服务端校验用户身份与操作权限。定期审计权限模型,避免业务迭代引入新漏洞。 水平越权 1,按照网站的提示要求登录 进…

C++区别于C语言的提升用法(万字总结)

1.namespace产生原因 在C语言中,变量,函数,以至于类都是大量存在的,因此会产生大量的名称存在于全局作用域中,可能产生很多冲突,至此c的祖师爷为避免命名冲突和名字的污染,造出来了关键字names…

数据库day-07

一、实验名称和性质 子查询 验证 设计 二、实验目的 1.掌握子查询的嵌套查询; 2.掌握集合操作 3.了解EXISTS嵌套查询方法; 三、实验的软硬件环境要求 硬件环境要求: PC机(单机) 使用的软件名称、版本号以及模块…

【前端】【业务场景】【面试】在前端开发中,如何实现文件的上传与下载功能,并且处理可能出现的错误情况?

前端文件上传与下载攻略 本文目标&#xff1a;帮你快速掌握文件上传 & 下载的核心实现方式&#xff0c;并在常见出错场景下保持“优雅不崩溃”。 一、文件上传 1. 基础结构 <input type"file" id"fileInput" /> <button id"uploadBtn&…

Kafka 消息积压监控和报警配置的详细步骤

Kafka 消息积压监控和报警配置的详细步骤示例&#xff0c;涵盖常用工具&#xff08;如 Prometheus Grafana、云服务监控&#xff09;和自定义脚本方法&#xff1a; 一、监控配置 方法1&#xff1a;使用 Prometheus Grafana kafka-exporter 步骤1&#xff1a;部署 kafka-ex…

【C++】内存管理:内存划分、动态内存管理(new、delete用法)

文章目录 一、C/C中的内存划分二、C语言中动态内存管理方式三、C中动态内存管理方式1、new、delete基本用法(1)、内置类型(2)、自定义类型 2、operator new与operator delete函数3、new和delete的实现原理&#xff08;1&#xff09;内置类型&#xff08;2&#xff09;自定义类型…

C# 实战_RichTextBox选中某一行条目高亮,离开恢复

C# 中控件richtextbox中某一行的条目内容高亮&#xff0c;未选中保持不变。当鼠标点击某一行的条目高亮&#xff0c;离开该条目就恢复默认颜色。 运行效果&#xff1a; 核心代码实现功能&#xff1a; //高亮指定行的方法private void HighlightLine(RichTextBox rtb,int lineI…

Vue3 ref与props

ref 属性 与 props 一、核心概念对比 特性ref (标签属性)props作用对象DOM 元素/组件实例组件间数据传递数据流向父组件访问子组件/DOM父组件 → 子组件响应性直接操作对象单向数据流&#xff08;只读&#xff09;使用场景获取 DOM/调用子组件方法组件参数传递Vue3 变化不再自…

视频汇聚平台EasyCVR赋能高清网络摄像机:打造高性价比视频监控系统

在现代视频监控系统中&#xff0c;高清网络摄像机作为核心设备&#xff0c;其性能和配置直接影响监控效果和整体系统的价值。本文将结合EasyCVR视频监控的功能&#xff0c;探讨如何在满足使用需求的同时&#xff0c;优化监控系统的设计&#xff0c;降低项目成本&#xff0c;并提…

【C++】 —— 笔试刷题day_21

一、爱丽丝的人偶 题目解析 现在存在n个玩偶&#xff0c;每个玩偶的身高是1、2、3......n&#xff1b; 现在我们要对这些玩偶进行排序&#xff08;如果x人偶&#xff0c;它左右两边的玩偶一个比x高、一个比x矮&#xff0c;那这个玩偶就会爆炸&#xff09;。 我们不想要任何一个…

详解.vscode 下的json .vscode文件夹下各个文件的作用

1.背景 看一些开源项目的时候,总是看到vscode先有不同的json文件,再次做一下总结方便之后查看 settings.json肯定不用多说了 vscode 编辑器分为 全局用户配置 和 当前工作区配置 那么.vscode文件夹下的settings.json文件夹肯定就是当前工作区配置了 在此文件对单个的项目进行配…

手动实现legend 与 echarts图交互 通过js事件实现图标某项的高亮 显示与隐藏

通过html实现legend的样式 提供调用echarts的api实现与echarts图表交互的效果 实现饼图element实现类似于legend与echartstu表交互效果 效果图 配置代码 <template><div style"height: 400px; width: 500px;background-color: #CCC;"><v-chart:opti…

Spring Boot 配置源详解(完整版)

Spring Boot 配置源详解&#xff08;完整版&#xff09; 一、配置源加载顺序与优先级 配置源类型优先级顺序&#xff08;从高到低&#xff09;对应配置类/接口是否可覆盖典型文件/来源命令行参数&#xff08;--keyvalue&#xff09;1&#xff08;最高&#xff09;SimpleComman…