MyBatis学习:简单认识一下MVC架构模式和三层架构
1、本篇博客的背景和目的
目前我本人正在学习MyBatis框架,在原先了解并且懵懵懂懂使用的基础上,开始系统正式的学习。本篇博客阐述一下MVC架构模式和三层架构,以及明晰一下我们通常在Web项目中的编码层次。
2、MVC架构模式
我们编写Web的时候,使用最多的就是MVC架构模式。
M指的是数据,V指的是视图,C指的是控制器。
控制器就是接收请求,调用我们的Service对象,显示请求的处理结果;我们以前就是使用Servlet来作为控制器的;
视图,我们原先使用的是jsp,HTML,JS,CSS ,用来显示请求的处理结果;
数据肯定就可以来自于数据库,网络,文件等;
MVC的作用:可以实现解耦合;让MVC各负其职;使得系统的扩展性更好;更容易维护;
MVC更适合做WEB应用
3、三层架构模式
1、界面层(视图层):接收用户请求,调用Service,显示请求的处理结果;主要就是JSP,HTML 适合于用户直接打交道; 对应的包名就是controller
2、业务逻辑层:真正的处理业务逻辑,使用算法去处理数据的,将我们的数据返回给我们的界面层 它对应的就是service包,里面有很多 *****Service类;
3、持久层(数据访问层):这一层就是访问数据库的,或者是读取文件的,或者是访问网络获取数据的, 对应的包就是 dao ,在里面就有很多的 ***Dao类
那么三层架构请求处理的流程是什么呢?
首先用户发起请求,然后就到了界面层,然后就又到了业务逻辑层;业务逻辑层需要数据,那么就又会访问持久层;持久层就会到了数据库(MySQL)。然后就是请求逆着回来展示给用户就可以啦;
使用三层架构是有很多优点的:
1、结构清晰,耦合度低,各层分工明确;
2、可维护性高,可扩展性高;有利于标准化;
3、开发人员可以只关注整个结构中的其中某一层的功能的实现;
4、有利于各层结构的复用;
三层架构中,每一层都会使用一个框架:
界面层:使用SpringMVC框架 调用Service,显示结果(都是后端的,当然前端的什么VUE啊,HTML,Thymeleaf引擎啊等,这里就先不涉及了)
业务层:Spring框架
持久层:MyBatis框架
4、我本专栏的下一篇博文
MyBatis学习:简单认识一下MVC架构模式和三层架构相关推荐
- MVC模式与三层架构的区别
MVC模式与三层架构的区别 原文地址:http://www.cnblogs.com/yourshj/p/5197310.html 之前总是混淆MVC表现模式和三层架构模式,为此记录下. 三层架构和MV ...
- 10个常见软件架构模式和三层架构模式
10个常见软件架构模式: 1. 分层模式: 信息系统常见的4层划分:Presentation layer表示层(也就是UI层).Application layer应用层(也就是服务层).Busines ...
- java ssh三层架构_SSH和三层架构的MVC模式的对应关系
1.MVC(Model-View-Controller)设计模式: 首先让我们了解下MVC(Model-View-Controller)的概念: MVC全名是Model View Controller ...
- MVC模式与三层架构
文章目录 什么是MVC模式 MVC架构程序的工作流程 什么是三层架构 什么是系统架构 什么是三层架构 各层之间的引用关系 MVC 与三层架构的对应关系 总结 什么是MVC模式 MVC,即 Model ...
- MVC项目实践,在三层架构下实现SportsStore-03,Ninject控制器工厂等
SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...
- MVC项目实践,在三层架构下实现SportsStore-06,实现购物车
SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...
- MVC项目实践,在三层架构下实现SportsStore-01,EF Code First建模、DAL层等
SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...
- 项目架构之传统三层架构和领域模型三层架构
一.架构之传统三层架构 传统三层架构是一种软件架构,是一种典型的.基于贫血模型的.面向过程的JavaWeb分层方式.该架构分为以下三个层次: 数据访问层(DAL - Data Access Layer ...
- JavaEE架构之传统三层架构,集群架构,分布式架构,微服务架构
javaEE架构 1.传统三层架构(all in one项目) 传统三层架构大致可以分为表现层,业务层和持久层(数据访问层).其中表现层负责接受请求和转发请求.业务层负责处理请求(注:事务管理,日志记 ...
最新文章
- php中input的使用,php输入流php://input如何使用
- 【转】ABAP的坑1
- Python3 中的最大整数和最大浮点数
- 为推广苹果音乐服务 库克再度现身北京
- django 如何接收bootstrap-table传送的 ajax数组
- fd 句柄_文件描述符FD的含义/文件句柄
- Prove the EXACT 4SAT is NP-complete.
- 现代天线设计——学习笔记(一)
- 华为s5720默认用户名和密码_华为S5720常用命令
- 华为服务器imana安装系统,华为服务器imana配置
- rknn3399pro 2小时入门指南(八)详细教程指导你一步到位训练得到yolov3 rknn模型
- word,添加文献脚注
- 简单密码(Caesar密码)--C++实现
- 搭便车的时候,请别把车砸了。
- 恭喜元宇宙产业委秘书长何超、执行秘书长武艳芳成为南京河西CBD发展大使
- Problem--133A--Codeforces--A. HQ9+
- Url跳转和伪静态html解决方案
- 微信小程序答题赢红包 微信答题小程序抢红包,答题领微信零钱红包,答题红包小程序,可以自己出题考试的小程序
- Matlab 在线性代数中的应用
- 国密SM9算法C++实现:算法功能与测试例子
热门文章
- 突然萌发关于 redis 的想法(2)
- 做好京东工业品,只是京东进军工业互联网的第一步
- PHP8和tomcat8速度,Centos系统 tomcat 中的应用与北京时间相差8小时
- 焦化厂通过plc无线通信模块竟然可以解决生产安全问题
- 线程安全问题的原因及解决方案
- js如何实现扫描身份证识别_通过node.js来调取baidu-aip-SDK实现身份证识别的功能...
- 【比赛游记】THUWC2019酱油记
- ANSYS Workbench 14.5数值模拟工程实例解析视频教程
- 数学建模学习(109):几行代码训练几十种机器学习模型
- 无人机学习之路——电机