SSM2

DataSource 

mybatis与Spring整合

事务加载业务层上面

开启事务驱动

上面都是声明式开启事务

图书管理系统

命名规范:

  • java命名规范:驼峰命名法类:大驼峰变量,属性名.方法名:小驼峰
    • 常量使用下划线分割:全大写,单词与单词之间下划线分割
  • 数据库命名规范:常用命名规范:下划线分割单词与单词之间下划线分割

加实体类:

加lombok依赖 Book类加@Data

加mapper接口:

char类型对应的java类型时String类型

包装类实现了Serlizable接口

使用继承接口 (继承时继承接口,接口不是实现接口)

xml配置

修改(ID不能改以外)

根据ID删除

使用ResultMap进行映射

根据Id进行查询

全部查询

mapper搞定

写service(基于接口进行类的隔离)

需要事务(基于xml的生成式事务或者基于注解的编程式事务)

实现添加

业务层要经行数据的转换

map不访问boolean  sql得到的永远的是收影响行数

基于声明式的注解事务

Spring与Web整合

交给Spring容器管理,床啊金一个监听器,当tomcat启动时创建,

基于beans要扫描service里面的注解

SpringMvc

spring不需要整合SpringMvc 后者是前者的一个子模块 无需整合

基于mvc注解驱动开发

1.使用注解的处理器适配器,注解的处理器映射器,不需要再SpringMVC的配置文件进行配置

2.处理器类不需要实现任何接口或者继承某些类,处理请求的方法,就是一个处理器,包含这些方法的类 称为Controller类,处理请求的方法任意的,个数任意,方法名任意,返回值任意,参数是任意的

在springMvc的配置文件当中加入

<mvc :annotation-driven/ >

加入命名空间mvc

MVC提供的注解

  1. @RequestMapping注解请求映射,给处理请求的方法绑定一个可以访问的url
  2. @RequestBody注解
  3. @ReponseBody注解
  4. ......

配置视图解析器(通过逻辑视图名去找物理视图,默认的跳转方式是转发) 

SpringMvc依赖找(视图找包)

InternalResourceViewResolver

加style、script文件

没登陆不可以访问

weapp目录下是公共访问 要私有访问->web-inf,它内部的资源浏览器不可以直接通过重定向方式直接访问,但是可以通过转发的方式进行一个访问

数据展示需要有控制

cart.html特殊设置

服务器报错:

加一个日志输出

控制台中红色输出的是tomcat 黑色的是日志

项目的index.jsp可以访问  但是你web-inf下的index.js不能被浏览器直接访问到

加入登陆注册页面到项目中(可以直接访问)

使用绝对路径

讲课

@RequestMapping注解

处理器绑定url 

value/path:绑定的url,默认值:方法名作为url

请求方式 -> 原先servlet的doget和doPost

只能处理POST请求

会报错405错误

既可以处理POST请求 又可以处理GET 请求

@RequestMapping提供扩展注解

  • GetMapping  处理请求方式:GET
  • @postMapping注解 处理post请求
  • @deleteMapping 处理delte请求
  • @PutMapping 处理put请求


method:设置处理器方法能处理的请求方式,默认值:处理任何请求方式

params:限制请求参数的条件

不仅可以加在方法上面(表示url) 可以加在方法上 -> ()

窄化请求

Controller类

1.Controller类方法的返回值类型

-> 返回modelandview

ModelAndView:

往request域添加数据,设置逻辑视图名

经过视图解析器,找物理视图,转发的方式

String

逻辑视图名 -> 经过视图解析器 -> 找物理视图名  通过转发的方式

不返回 void

经过视图解析器到test1.do (访问test2.do)

所以不能经过视图解析器

-> forward:"资源路径"  -> 不经过视图解析器,那么紫资源路径不是拼接的 资源会是完整的

return "forward:/test/test1.do"

字符串       逻辑视图名 -> 经过视图解析器 -> 找物理视图名  通过转发的方式

转发到指定资源(可以是jsp或者处理器)

重定向到指定资源(可以是jsp,处理器)“redirect :资源路径“

其他数据类型

只作为数据返回,配合ResponseBody

包括:

  1.  java提供简单数据类型
  2. 自定义类类型
  3. 集合类型

88

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

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

相关文章

排名全球前列!Flat Ads再入选AppsFlyer广告榜单

近期&#xff0c;移动归因与营销分析公司AppsFlyer《广告平台综合表现报告》第16版重磅发布&#xff01;盘点全球买量渠道表现&#xff0c;洞察移动营销行业最新格局。其中Flat Ads凭借实力和体量&#xff0c;入选AppsFlyer广告平台综合表现非游戏类Top级流量媒体4个全球榜单排…

大数据Doris(二十六):数据导入(Routine Load)介绍

文章目录 数据导入(Routine Load)介绍 一、适用场景

Rockchip Clock

一:概述 1、时钟子系统 本章节所指的时钟是给SOC各个组件提供时钟的树状框架,而非内核使用的时钟。和其他模块一样,CLOCK也有框架,用以适配不同的平台。适配层之上是客户代码和接口,也就是各模块(如需要时钟信号的外设)的驱动。适配层之下是具体的SOC的时钟操作细节。…

智慧城市智能井盖传感器有哪些特点

在不断变化的城市发展格局中&#xff0c;智慧城市的建设毋庸置疑是很重要的&#xff0c;这会加快城市化进程并促进城市的高质量发展。每一个城市在技术和创新的推动下&#xff0c;提高居民的生活质量&#xff0c;同时确保城市发展的可持续性和政府的办事效率稳步提升。就像是智…

C++ STL -->string类

文章目录 STL什么是STL String类string类对象的构造方式string类对象的容量操作string类对象的访问及遍历操作string迭代器函数遍历类对象 stirng类对象的修改操作string类非成员函数 STL 什么是STL STL全称standard template libaray-标准模板库 是C标准库的重要组成部分 不…

SpringCloud01

SpringCloud01 1.认识微服务 随着互联网行业的发展&#xff0c;对服务的要求也越来越高&#xff0c;服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢&#xff1f; 1.0.学习目标 了解微服务架构的优缺点 1.1.单体架构 单体架构&#xff…

【腾学汇的第1个实验代码】应用Matplotlib绘制图标分析

应用Matplotlib绘制图标分析 # 1.创建一维数组 # 导入包 import numpy as np#两种方式创建一维数组 vector np.array([1,2,3]) #把数列转换成 nampy格式的数组 print(vector)print(type([1, 2, 3]), type(vector)) vector np.arange(15) #使用numpy.arange()方法创建给定区…

吉他效果器开发方法

吉他效果器开发方法 是否需要申请加入数字音频系统研究开发交流答疑群(课题组)&#xff1f;可加我微信hezkz17, 本群提供音频技术答疑服务&#xff0c;群赠送语音信号处理降噪算法&#xff0c;蓝牙耳机音频&#xff0c;ADI DSP音频项目核心开发资料, 1 做出的效果图 2 介绍 …

【网络通信】探索UDP与TCP协议、IP地址和端口号的奥妙

&#x1f33a;个人主页&#xff1a;Dawn黎明开始 &#x1f380;系列专栏&#xff1a;网络奇幻之旅 ⭐每日一句&#xff1a;往前走&#xff0c;朝着光 &#x1f4e2;欢迎大家&#xff1a;关注&#x1f50d;点赞&#x1f44d;评论&#x1f4dd;收藏⭐️ 文章目录 &#x1f4cb;前…

【项目管理】甘特图(2)——甘特图教程

哈喽啊&#xff0c;你好&#xff0c;我是雷工。 通过上节初步认识了甘特图&#xff0c;本节学习如何一步步创建甘特图&#xff0c;以下为学习笔记。 一、样例展示 下边记录创建甘特图的操作步骤&#xff0c;完成的实际效果如下图所示&#xff1a; 实例图的上端展示项目的重要…

Altium Designer学习笔记7

PCB封装库的制作&#xff1a; 距离的测量&#xff1a; 各个焊盘的位置&#xff1a; 直插元件选择Multi-Layer。如果贴片元件的则选择顶层Top-Layer&#xff0c;或者Bottom-Layer。 形状是方形&#xff0c;尺寸是2mm*2mm。 孔的尺寸是1.4mm。 则该器件就制作完成。 TSSOP28封装…

VirtualBox7安装Ubuntu20及全屏、共享、粘贴板等设置

VirtualBox7安装Ubuntu20及全屏、共享、粘贴板等设置 1. 安装VirtualBox2. 安装Ubuntu202.1 获得x.vdi2.2 新建虚拟电脑 3. 增强设置3.1 增强功能3.2 全屏3.2 共享文件夹3.4 粘贴板 1. 安装VirtualBox 官网https://www.virtualbox.org/wiki/Downloads下载&#xff0c;笔者选择…

MyCAT2分库分表

目录 ​​​​​​一、分库分表的原理 1.垂直切分 2.水平切分 3.如何分表 1.选择要拆分的表 2.选择分表的定段 3.分库分表的环境准备 1.进入dw0配置 1&#xff09;进入目录&#xff1a; 2&#xff09;修改dw0.cnf&#xff1a; 3&#xff09;修改dr0.cnf&#xff1a;…

# 聚类系列(一)——什么是聚类?

目前在做聚类方面的科研工作, 看了很多相关的论文, 也做了一些工作, 于是想出个聚类系列记录一下, 主要包括聚类的概念和相关定义、现有常用聚类算法、聚类相似性度量指标、聚类评价指标、 聚类的应用场景以及共享一些聚类的开源代码 下面正式进入该系列的第一个部分&#xff…

做好性能测试计划的4个步骤!全都是精华!【建议收藏】

如何做好一次性能测试计划呢&#xff1f;对于性能测试新手来说&#xff0c;也许你非常熟悉Jmeter的使用&#xff0c;也许你清楚的了解每一个系统参数代表的意义&#xff0c;但是想要完成好一次性能测试任务&#xff0c;并不仅仅是简单的写脚本&#xff0c;加压力&#xff0c;再…

【Seata源码学习 】篇三 TM开启全局事务的过程

【Seata源码学习 】篇三 TM开启全局事务的过程 TM发送 单个或批量 消息 以发送GlobalBeginRequest消息为例 TM在执行拦截器链路前将向TC发送GlobalBeginRequest 消息 io.seata.tm.api.DefaultGlobalTransaction#begin(int, java.lang.String) Overridepublic String begin(…

使用iframe 发现样式错位的解决办法

原理就是默认隐藏 点击的时候&#xff08;或者需要的时候&#xff09;展示出来 方法二 宽高为0

nacos网关

目录 拉取docker镜像 环境配置 网关搭建架构 wemedia-gateway网关配置 依赖 启动类配置 网关yml配置 nacos配置中心配置网关 wdmedia服务配置 依赖 启动类配置 yml配置 nacos配置 nacos中的配置共享 nacos配置 wmedia模块中yml的配置 参考:https://blog.csdn.net/…

springBoot中starter

springBoot项目中引入starter 项目引入xxljob&#xff0c;仅需要导入对应的starter包&#xff0c;即可进行快速开发 <dependency><groupId>com.ydl</groupId><artifactId>xxl-job-spring-boot-starter</artifactId><version>0.0.1-SNAPS…

深度学习知识点

深度学习过程 data [] for i,d in enumerate(data):image,label d image,label image.cuda(),label.cuda()img net(image)optimizer.zero_grad()#需要将梯度信息清零&#xff0c;因为梯度计算是按照batch分批次计算的&#xff0c;如果这一批batch没清零&#xff0c;会影响…