spring mvc理解

spring mvc

M:model 模型
V:view 视图
C:controller 控制器

S: service 服务处理
D: Dao 数据持久化

视图

我理解就是web页面,帮助用户调用后端接口。
前后端分离之后,view似乎就和后端没什么关系了。

模型

格式化的数据。可以用于响应,也可以用于层与层之间传递数据。

控制器

后端接口处理器,处理某个接口的请求。选择调用的service处理,结果封装好返回给用户.

对应的spring里的注解

@RestController
@RequestMapping(path = "/")
public class hhhController {@GetMapping(path = "/")public String helloworld() {return "helloworld";}
}

Service

处理业务逻辑,调用Dao层持久化,处理结果返回给Controller。

Dao

处理持久化数据,这里的Model类似POJO,和数据库内的字段一一对应。

常规玩法是写一个mapper接口定义操作数据库的几个方法,对饮写一个xml定义每个方法执行的sql语句。组合成bean。

使用@Mapper注解要定义成一个接口interface
作用:
1.使用@Mapper将testMapper接口交给Spring进行管理
2.不用写Mapper映射文件(XML)
3.为这个testMapper接口生成一个实现类,让别的类进行引用

@Mapper
public interface testMapper {@Update("CREATE TABLE a\n" +"        (\n" +"            id         bigint(20) NOT NULL AUTO_INCREMENT,\n" +"            createTime date not null;\n" +"        PRIMARY KEY (id)")void createTable();
}

Configuration

给一个类标注上Configuration 与 spring xml 是相同作用,组装bean的。
@Configuration 注解类,@Bean注解方法,这个方法只会运行一次,在类里其他方法的调用就相当于其他bean持有这个bean。

@Configuration
public class AppConfig {@Beanpublic String helloworld() {return "helloworld";}
}

码文不易,希望支持,谢谢->支持原创

支持原创

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

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

相关文章

zabbix6.4监控交换机发现ICMP报错Ping item must have target or host interface specified

报错信息: 查看监控项: 修改键值: 保存再次检查,发现又报错/usr/sbin/fping: [2] No such file or directory 原因是,zabbix-server上没有安装fping工具 解决方法:yum install fping -y 之后数据采集正常…

中建信息携手麒麟软件共建生态 助推华南区数字经济建设

这里写自定义目录标题 日前,中建信息携手麒麟软件在广州共同举办了“2023年麒麟软件华南渠道大会”,与来自广东、广西、海南各地市近300位渠道合作伙伴代表共聚一堂,于交流探讨中凝心聚力,亦探新机、启新程、谋新篇。 共聚大会&am…

【unity3D】Transform组件(如何访问和获取Transform组件)

💗 未来的游戏开发程序媛,现在的努力学习菜鸡 💦本专栏是我关于游戏开发的学习笔记 🈶本篇是unity的Transform组件 Transform组件 基础知识介绍三个成员变量常用属性扩展 Transform的相关查找方法静态方法 基础知识 介绍 在Unit…

Java 如何正确比较两个浮点数

看下面这段代码,将 d1 和 d2 两个浮点数进行比较,输出的结果会是什么? double d1 .1 * 3; double d2 .3; System.out.println(d1 d2);按照正常逻辑来看,d1 经过计算之后的结果应该是 0.3,最后打印的结果应该是 tru…

mapbox实现框选要素

成果图 参考博客 https://blog.csdn.net/ScapeD/article/details/89158755 原理与源码 利用mapbox的queryRenderedFeatures方法可以获取范围内的要素,但是这个只能是点和矩形和范围内的全屏要素,并不支持多边形,所以实现这个的思路就是画完框…

【JavaEE进阶】 Spring核⼼与设计思想

文章目录 🌲Spring 是什么?🎄什么是IoC呢?🎈传统程序开发🎈传统程序开发的缺陷🎈如何解决传统程序的缺陷?🎈控制反转式程序开发🎈对⽐总结规律 🍀…

适用于 Windows 的最佳(免费/付费)数据恢复软件

借助最佳数据恢复工具从 Windows PC 恢复丢失和删除的数据 您是否正在寻找一种巧妙的方法来从计算机中取消删除或恢复已删除的文件?如果是,那么这篇文章就是为您准备的!在本教程中,我们整理了一份全面的数据恢复软件列表&#xf…

Android 第三十九章 RatingBar

一、属性 android:isIndicator“false” 此评级栏是否为指示器(用户不可更改)。 默认false 可更改,true 不可更改android:numStars“6” 设置星星数量android:rating“1” 设置默认评级android:stepSize“2” 设置步长 二、示例 class Mai…

机器人学习目标

学习目标: 若干年后,我们都将化为尘土,无人铭记我们的存在。那么,何不趁现在,尽己所能,在这个世界上留下一些痕迹,让未来的时光里,仍有人能感知到我们的存在。 机器人协会每届每个阶…

在 Vue 3 项目中实现图片的在线预览(百度搜索暂未验证)

当使用 Vue 3 TypeScript Vite 完成图片在线预览时,你可以使用第三方库 vue-image-lightbox 来实现。以下是如何在 Vue 3 TypeScript Vite 项目中完成这个任务的示例: 首先,安装 vue-image-lightbox 库: npm install vue-ima…

外包干了4年,技术退步明显...

先说情况,大专毕业,18年通过校招进入湖南某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…

Pip命令:Python包管理的利器

Pip是Python的一个强大的包管理工具,它可以帮助我们轻松地安装、升级和管理Python包。在这篇文章中,我将介绍Pip命令的基本用法和一些高级技巧。 安装Pip 在大多数Python发行版中,Pip都是默认安装的。如果你的系统中还没有安装Pip&#xff0c…

postgres pg_dump: fe_sendauth: no password supplied问题处理

postgres pg_dump: fe_sendauth: no password supplied问题处理 1、pg_dump: fe_sendauth: no password supplied问题处理(root 用户)2、解决方法2.1、创建 .pgpass文件2.2、chmod 600 ~/.pgpass 3、额外情况 1、pg_dump: fe_sendauth: no password supp…

codeforces每日两道思维题(第 二 天)

2 C. Challenging Cliffs 原题链接:Problem - 1537C - Codeforces rating : 1200 题目描述: 你是一名游戏设计师,想要创建一个障碍赛道。玩家将从左到右行走。你已经选择了 n 座山的高度,并希望安排它们,以便第一座…

SCAU:18037 20秒后的时间

18037 20秒后的时间 时间限制:1000MS 代码长度限制:10KB 提交次数:0 通过次数:0 题型: 编程题 语言: G;GCC Description 编写程序,输入三个整数变量hour(小时)、minute(分钟)、second(秒)…

优化网站性能,从容谈CDN加速的部署与运维

随着互联网的迅猛发展,网站的性能优化成为网站运维工作中不可或缺的一环。其中,CDN(Content Delivery Network)加速技术因其在全球范围内提供快速、可靠的内容分发而备受关注。本文将从一个网站运维的角度出发,深入探讨…

文件重命名:删除文件名中的空格,提高文件可读性和可管理性的方法

在计算机科学中,有效的文件管理对于提高工作效率和保持数据的一致性至关重要。工作中经常会遇到文件名中包含空格的情况,这不仅会使文件在某些情况下难以读取,而且可能导致管理上的困扰。在文件名中添加空格可能会使文件名变得模糊和不明确&a…

AIGC: 关于ChatGPT中基于API实现一个Client客户端

Java版的GPT的Client 可作为其他编程语言的参考注意: 下面包名中的 xxx 可以换成自己的 1 )核心代码结构设计 src main java com.xxx.gpt.client entity ChatCompletion.javaChatCompletionResponse.javaChatChoice.java… util Proxys.java… ChatApi.javaChatG…

我有才知识付费小程序免费搭建:轻松拥有知识付费平台

用户管理 提供会员特权和积分奖励,提高用户忠诚度和购买力。 用户通过在平台上进行消费、签到、参与活动等方式获取积分,用于兑换丰厚奖品或提升会员等级。增强用户的参与感与忠诚度,提高用户粘性,并刺激用户的购买力。 为用户打…

7z命令压缩文件夹,并忽略其中某些文件夹

-xr指令表示忽略 对于.vs这样的文件夹,需要用双引号括起来 类似的,可以使用通配符忽略文件 .\7z.exe a -t7z D:\Document\Code\apps.7z D:\Document\Code\apps -xr!".vs" -xr!bin -xr!obj