当前位置: 首页 > news >正文

SpringMvc学习笔记五

Restful 风格路由

1. 配置类

   1.1、SpringMvcConfig配置类

@Configuration
@ComponentScan({"com.itheima.controller", "com.itheima.config"})   方式1.2 添加com.itheima.config 扫描目录
@EnableWebMvc
public class SpringMvcConfig {
}

  1.2、ServletContainerInitConfig类

public class ServletContainersInitConfig extends AbstractAnnotationConfigDispatcherServletInitializer {@Overrideprotected Class<?>[] getRootConfigClasses() {return new Class[0];}@Overrideprotected Class<?>[] getServletConfigClasses() {return new Class[]{SpringMvcConfig.class};}@Overrideprotected String[] getServletMappings() {return new String[]{"/"};}// 乱码处理 过滤器@Overrideprotected Filter[] getServletFilters() {CharacterEncodingFilter filter = new CharacterEncodingFilter();filter.setEncoding("UTF-8");return new Filter[]{filter};}
}

 1.3、SpringMvcSupport配置类

@Configuration  //方式1.1 添加Configuration注解
public class SpringMvcSupport extends WebMvcConfigurationSupport {@Overrideprotected void addResourceHandlers(ResourceHandlerRegistry registry) {// 当访问 /pages的时候 ,走pages目录下访问 不要走mvcregistry.addResourceHandler("/pages/**").addResourceLocations("/pages/");}
}
  • 这个类的主要作用 添加静态资源排除,让这些路径 不会进入SpringMvc动态请求里面

2.  控制器

 2.1、 Restful 风格 增删改查

@RestController
@RequestMapping("/books")
public class BookController {@PostMappingpublic String save(@RequestBody Book book){System.out.println("book save ==>" + book);return "{'module':'book save success'}";}@GetMappingpublic List<Book> getAll(){Book book1 = new Book();book1.setType("计算机");book1.setName("SpringMVC入门教程");book1.setDescription("小试牛刀");Book book2 = new Book();book2.setType("计算机");book2.setName("SpringMVC项目实战");book2.setDescription("一代总是");List<Book> bookList = new ArrayList<>();bookList.add(book1);bookList.add(book2);return bookList;}@DeleteMapping("/{id}")public String delete(@PathVariable Integer id){System.out.println("book delete id = "+ id);return "{'module':'book delete success'}";}@PutMappingpublic String update(@RequestBody Book book){System.out.println("book update book = "+ book);return "{'module':'book update success'}";}
}
  • @RestController 声明为Rest风格控制器

  • @RequestMapping("/books")  路径

  • @PostMapping   Post请求

  • @GetMapping    Get请求

  • @DeleteMapping("/{id}")  Delete请求

  • @PutMapping   Put请求

  • Json格式参数必须加上@ReqeustBody 注解

相关文章:

SpringMvc学习笔记五

Restful 风格路由 1. 配置类 1.1、SpringMvcConfig配置类 Configuration ComponentScan({"com.itheima.controller", "com.itheima.config"}) 方式1.2 添加com.itheima.config 扫描目录 EnableWebMvc public class SpringMvcConfig { } 1.2、ServletCo…...

ORACLE-DG总结

述 当主库的某些日志没有成功传送到备库,那么这时候就发生了归档裂缝(Archive Gap)。目前Oracle提供了两种日志GAP的检测和处理机制,分别是自动GAP处理(Automatic Gap Resolution)和FAL进程GAP处理(FAL Gap Resolution)。自动GAP处理即主库上的ARCn进程会每分钟检查备库…...

机器学习中的 K-均值聚类算法及其优缺点

K-均值聚类算法是一种常用的无监督学习算法&#xff0c;用于将相似的数据点分组为聚类。 其步骤如下&#xff1a; 1. 初始化&#xff1a;选择聚类数K&#xff0c;随机选取K个聚类中心。 2. 计算距离&#xff1a;计算每个数据点与K个聚类中心的距离&#xff0c;将其分配到距离最…...

【数据化分析和建模】一般步骤(个人工作经验总结)

近期关于【数据化分析和建模】一般步骤的思考如下。 以终为始&#xff0c;要解决什么问题&#xff0c;实现什么效果&#xff1f; 数据可视化分析的首要目标是通过将数据以可视化图表的形式真实、完整地呈现业务现状&#xff0c;为发现业务问题打好基础&#xff0c;包括实时的…...

视频安防监控EasyCVR平台海康大华设备国标GB28181告警布防的报文说明

TSINGSEE青犀视频监控综合管理平台EasyCVR基于云边端协同&#xff0c;可支持海量视频的轻量化接入与汇聚管理。平台既具备传统安防视频监控的能力&#xff0c;比如&#xff1a;视频监控直播、云端录像、云存储、录像检索与回看、告警上报、平台级联、云台控制、语音对讲等&…...

T31开发笔记:librtmp拉流测试

若该文为原创文章&#xff0c;转载请注明原文出处。 T31使用librtmp拉流并保存成FLV文件或H264和AAC文件。 librtmp编译在前面有教程&#xff0c;自行编译。 实现的目的是想要获取获取rtmp的AAC流并播放&#xff0c;实时双向对讲功能。 一、硬件和开发环境 1、硬件&#xff1…...

2308C++概念化

原文 库 //概念化(需要C20) struct 可画 {void 画(小出流 &out) const {te::call([](auto const &s, auto &out)-> decltype(s.画(out)) { s.画(out); }, *this, out);} }; struct 方形 {void 画(小出流 &out) const { out << "方形"; } }…...

flutter开发实战-实现自定义按钮类似UIButton效果

flutter开发实战-实现自定义按钮类似UIButton效果 最近开发过程中需要实现一下UIButton效果的flutter按钮&#xff0c;这里使用的是监听手势点击事件。 一、GestureDetector GestureDetector属性定义 GestureDetector({super.key,this.child,this.onTapDown,this.onTapUp,t…...

深度优先搜索|1034, 1020, 1254

深度优先搜索|1034. 边界着色&#xff0c; 机器人的运动范围&#xff0c;529. 扫雷游戏 边界着色机器人的运动范围扫雷问题 边界着色 把这个题分段了&#xff0c;先找到包括 (row, col) 的连通分量&#xff0c;然后再去找符合条件的边界&#xff0c;找到以后涂上颜色就行。 c…...

都市信息供求网servlet+jsp新闻广告出售java源代码mysql

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 都市信息供求网servletjsp 系统1权限&#xff1a;管理…...

kubeadm init:failed to pull image registry.k8s.io/pause:3.6

错误信息&#xff1a; Unfortunately, an error has occurred: timed out waiting for the condition This error is likely caused by: - The kubelet is not running - The kubelet is unhealthy due to a misconfiguration of the node in some way…...

设计模式之简单工厂模式、工厂模式、抽象工厂模式

参考&#xff1a; 设计模式笔记 简单工厂模式 ● 将类的创建过程交给工厂类实现&#xff0c;如果需要一个类对象&#xff0c;则直接通过工厂创建一个类。 ● 简单工厂模式不符合开闭原则 ● 适用场景&#xff1a;工厂类负责创建的对象比较少&#xff1b;客户端只知道传入工厂…...

C# 控制台彩色深度打印 工具类

文章目录 前言Nuget 环境安装代码使用打印结果 总结 前言 有时候我们想要靠打印获得程序信息&#xff0c;因为Dubeg模式需要一点一点断点进入进出&#xff0c;但是我们觉得断点运行实在是太慢了&#xff0c;还是直接打印后找结果会好一点。 Nuget 环境安装 想自己写的话可以看…...

Pytorch Tensor维度变换方法

1.torch.reshape()、torch.view()可以调整Tensor的shape 2.torch.unsqueeze(index)可以为Tensor增加一个维度 3.squeeze()可以删减维度 4.expand&#xff08;&#xff09;扩展维度 5.repeat()维度重复&#xff0c;不常用 6.transpose(dim1, dim2)交换dim1与dim2&#xff0…...

微信小程序之点击文字文字自动转语音进行播放,微信小程序文字识别转语音播放

需求 一堆题目&#xff0c;题干需要在点击的时候进行语音朗读&#xff0c;不做音频上传&#xff0c;不然不便于维护 解决方案 点击查看微信官方文档&#xff1a;微信同声传译 使用流程 后台配置 mp.weixin.qq.com 设置 > 第三方设置 > 插件管理 小程序插件使用流…...

主动学习、半监督学习、它们之间的区别?

1、主动学习&#xff08;Active Learning&#xff09;&#xff1a; 含义&#xff1a; 有的时候&#xff0c;有类标的数据比较稀少而没有类标的数据是相当丰富的&#xff0c;但是对数据进行人工标注又非常昂贵&#xff0c;这时候&#xff0c;学习算法可以主动地提出一些标注请…...

linux快速安装Rabbitmq

linux快速安装Rabbitmq 准备yum仓库 # root执行rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.ascrpm --import https://packagecloud.io/rabbitmq/erlang/gpgkeyrpm --import https://packagecloud.io/ra…...

spconv1.2.1库的编译与安装

SpConv是一个稀疏卷积库&#xff0c;在点云相关的深度学习算法中用的比较多。由于目前官方升级到了2.0&#xff0c;然而有些算法&#xff08;比如审稿人要我复现的Cylinder3D&#xff09;仍需要用到1.2.1版本&#xff0c;因此本人花了亿点点时间折腾了一下。。。 本机安装cuda…...

java+springboot+mysql企业邮件管理系统

项目介绍&#xff1a; 使用javaspringbootmysql开发的企业邮件管理系统&#xff0c;系统包含超级管理员、管理员、员工角色&#xff0c;功能如下&#xff1a; 超级管理员&#xff1a;管理员管理&#xff1b;员工管理&#xff1b;反馈管理&#xff1b;系统公告&#xff1b;个人…...

[CKA]考试之一个 Pod 封装多个容器

由于最新的CKA考试改版&#xff0c;不允许存储书签&#xff0c;本博客致力怎么一步步从官网把答案找到&#xff0c;如何修改把题做对&#xff0c;下面开始我们的 CKA之旅 题目为&#xff1a; Task 创建一个Pod&#xff0c;名字为kucc1&#xff0c;这个Pod包含4容器&#xff…...

C#中SetProperty的5个高级用法:从基础到回调函数实战

C#中SetProperty的5个高级用法&#xff1a;从基础到回调函数实战 在C#开发中&#xff0c;SetProperty方法早已超越了简单的属性赋值功能&#xff0c;成为MVVM架构中不可或缺的瑞士军刀。对于已经掌握基础用法的开发者来说&#xff0c;深入挖掘其高级特性能够显著提升代码的灵活…...

5个真实案例解析:TLA+在分布式系统验证中的实际应用

5个真实案例解析&#xff1a;TLA在分布式系统验证中的实际应用 【免费下载链接】tlaplus TLC is a model checker for specifications written in TLA. The TLAToolbox is an IDE for TLA. 项目地址: https://gitcode.com/gh_mirrors/tl/tlaplus TLA是一种强大的形式化…...

HiveSQL实战:5个高频业务场景的SQL解法(附完整代码)

HiveSQL实战&#xff1a;5个高频业务场景的SQL解法&#xff08;附完整代码&#xff09; 在数据驱动的商业环境中&#xff0c;HiveSQL已成为企业数据分析师和工程师的必备技能。无论是电商平台的用户行为分析&#xff0c;还是教育机构的学生成绩统计&#xff0c;亦或是社交媒体的…...

别再死记硬背DAX函数了!用这3个真实业务场景(销售分析/客户分层/动态排名)彻底搞懂PowerBI表操作

用真实业务场景解锁PowerBI表操作函数的实战价值 在数据分析领域&#xff0c;掌握DAX函数就像获得了一把瑞士军刀&#xff0c;但真正的高手不在于记住每个工具的名称&#xff0c;而在于知道何时使用以及如何组合它们解决实际问题。本文将带你跳出函数手册的死记硬背模式&#x…...

用公司组织架构模式读懂AI大模型、OpenClaw、Claude Code、Agent、Prompt、MCP、Skill、Token、多智能体、具身智能到底啥关系?

公司最小的信息颗粒是 Token&#xff1b;老板 AI大模型 通过 Prompt 听汇报做决策&#xff1b;公司规定所有业务系统必须按 MCP 标准接入&#xff1b;HR 给员工发 Skill 手册&#xff1b;单个 Agent 员工领命干活&#xff1b;遇到大项目就组个 多智能体 团队&#xff1b;OpenCl…...

你花了几个月搭的 RAG 知识库,可能从一开始方向就错了:Karpathy 的 LLM Wiki 模式全解析

知识管理这个概念比计算机还早。 1945 年&#xff0c;Vannevar Bush 在《Atlantic Monthly》上发了篇文章叫《As We May Think》&#xff0c;提出了一个叫 Memex 的概念——一台可以装载所有书籍和记录&#xff0c;并能把各种材料串连起来的机器。 这大概就是"个人知识库&…...

Golang如何做Helm Chart_Golang Helm教程【秒懂】

Go二进制在scratch/alpine镜像报“no such file or directory”是因CGO默认启用导致动态链接libc&#xff0c;需禁用CGO并静态编译&#xff1b;Helm配置须统一管理探针路径、环境变量、镜像tag等四端一致。Go二进制进镜像总报 no such file or directory&#xff1f;不是镜像没…...

NotaGen AI音乐生成:5分钟快速部署,零基础创作古典音乐

NotaGen AI音乐生成&#xff1a;5分钟快速部署&#xff0c;零基础创作古典音乐 1. 从零开始部署NotaGen 1.1 环境准备 NotaGen已经预置在Docker镜像中&#xff0c;无需额外安装依赖。您只需要&#xff1a; 确保系统已安装Docker&#xff08;推荐版本20.10&#xff09;拥有至…...

Phi-3-vision-128k-instruct实战:构建基于卷积神经网络的图像增强预处理流水线

Phi-3-vision-128k-instruct实战&#xff1a;构建基于卷积神经网络的图像增强预处理流水线 1. 引言&#xff1a;当AI视觉遇上图像质量问题 你有没有遇到过这样的情况&#xff1f;好不容易拍了一张照片&#xff0c;结果因为光线不足、镜头抖动或者设备限制&#xff0c;图像质量…...

Phi-3 Forest Laboratory 数据处理实战:Excel VLOOKUP函数复杂场景的智能解决方案

Phi-3 Forest Laboratory 数据处理实战&#xff1a;Excel VLOOKUP函数复杂场景的智能解决方案 你是不是也遇到过这种情况&#xff1f;面对一份庞大的销售数据表&#xff0c;想用VLOOKUP函数把客户信息和订单金额匹配起来&#xff0c;结果要么是满屏的#N/A错误&#xff0c;要么…...