【SpringMVC】应用分层

简介: 本文介绍了项目在实现中如何进行应用分层,比较了前后端分离三层架构和MVC三层架构

  image.gif 编辑

阿华代码,不是逆风,就是我疯

你们的点赞收藏是我前进最大的动力!!

希望本文内容能够帮助到你!!

目录

一:场景引入

二:前后端分离三层架构

1:表现层

2:业务逻辑层

3:数据层

4:举例

三:MVC如何分层

四:基于MVC架构代码分层

1:Controller

2:Service

3:Dao

五:三层架构和MVC架构的关系

1:区别

(1)MVC架构模式

(2)前后端分离三层架构模式

(3)两种模式可以共存

2:联系

六:应用分层的好处

七:规范


一:场景引入

当做一个大项目时候,如果直接写代码,最后的结果是代码繁杂冗乱,层次混乱,

于是在Java中,在实现一个项目的前期准备时,会对项目进行工作的拆分,进行分层处理,就好比一个公司,有财务部门,法务部门,人事部门.........各司其职,这就是粗粒度细化的结果

项目开发也是:前后端一起做,前后端分离,后端根据功能在细分

二:前后端分离三层架构

⽬前现在更主流的开发⽅式是"前后端分离"的⽅式,把整体架构分为表现层、业务逻辑层和数据层.这种分层⽅式称之为"三层架构".

1:表现层

就是展⽰数据结果和接受⽤⼾指令的,是最靠近⽤⼾的⼀层;

2:业务逻辑层

负责处理业务逻辑,⾥⾯有复杂业务的具体实现;

3:数据层

负责存储和管理与应⽤程序相关的数据

4:举例

image.gif 编辑

三:MVC如何分层

MVC就是把整个系统分为了 Model(模型) ,View(视图),Controller(控制器)三层

将用户视图和业务处理分隔开,通过Controller建立剩余两者关系,达到低耦合的效果。

 

image.gif 编辑

四:基于MVC架构代码分层

按照“三层架构”划分,SpringMVC把(上面的)代码划分为三个部分:

1:Controller

控制层,接受前端发送的请求,并对请求进行处理,并响应数据。

2:Service

业务逻辑层,处理具体的业务逻辑

3:Dao

数据访问层,也叫数据持久层,主要负责数据的访问操作,包括数据的增删查改

五:三层架构和MVC架构的关系

1:区别

(1)MVC架构模式

①模型(Model),视图(View)和控制器(Controller)

②强调数据和视图分离,通过控制器对两者进⾏组合

(2)前后端分离三层架构模式

①表现层,业务逻辑层,数据访问层

②强调从不同维度,处理数据的⾼内聚和低耦合,将交互界⾯,业务处理和数据库操作的逻辑分开

(3)两种模式可以共存

比如:模型层拆分出业务逻辑层(Service层)和数据访问层(Dao层)

 

2:联系

从概念上来讲,⼆者都是软件⼯程领域中的架构模式

⼆者的⽬的是相同的,都是"解耦,分层,代码复⽤"

image.gif 编辑

六:应用分层的好处

①降低层与层之间的依赖,结构明确,利于各层逻辑的复⽤

②开发⼈员可以只关注整个结构中的其中某⼀层,降低了维护成本和维护时间

③可以很容易的⽤新的实现来替换原有层次的实现

④有利于标准化

七:规范

①类名使⽤⼤驼峰⻛格但以下情形例外:DO/BO/DTO/VO/AO

②⽅法名、参数名、成员变量、局部变量统⼀使⽤⼩驼峰⻛格

③包名统⼀使⽤⼩写,点分隔符之间有且仅有⼀个⾃然语义的英语单词

⼤驼峰:所有单词⾸字⺟都需要⼤写,⼜叫帕斯卡命名法,⽐如:UserController

⼩驼峰:除了第⼀个单词,其他单词⾸字⺟⼤写,⽐如:userController

蛇形:⽤下划线(_)作⽤单词间的分隔符,⼀般⼩写,⼜叫下划线命名法,⽐如:user_controller

串形:⽤短横线(-)作⽤单词间的分隔符,⼜叫脊柱命名法,⽐如:user-controller

 


相关文章
|
3月前
|
存储 设计模式 前端开发
什么是SpringMVC?简单好理解!什么是应用分层?SpringMVC与应用分层的关系? 什么是三层架构?SpringMVC与三层架构的关系?
文章解释了SpringMVC的概念和各部分功能,探讨了应用分层的原因和具体实施的三层架构,以及SpringMVC与三层架构之间的关系和联系。
43 1
什么是SpringMVC?简单好理解!什么是应用分层?SpringMVC与应用分层的关系? 什么是三层架构?SpringMVC与三层架构的关系?
|
8月前
|
设计模式 前端开发 JavaScript
Spring MVC(一)【什么是Spring MVC】
Spring MVC(一)【什么是Spring MVC】
|
7月前
|
设计模式 前端开发 Java
【Spring MVC】快速学习使用Spring MVC的注解及三层架构
【Spring MVC】快速学习使用Spring MVC的注解及三层架构
143 1
|
7月前
|
前端开发 Java 应用服务中间件
Spring框架第六章(SpringMVC概括及基于JDK21与Tomcat10创建SpringMVC程序)
Spring框架第六章(SpringMVC概括及基于JDK21与Tomcat10创建SpringMVC程序)
|
8月前
|
前端开发 Java 关系型数据库
基于ssm框架旅游网旅游社交平台前后台管理系统(spring+springmvc+mybatis+maven+tomcat+html)
基于ssm框架旅游网旅游社交平台前后台管理系统(spring+springmvc+mybatis+maven+tomcat+html)
105 0
|
7月前
|
XML Java 数据格式
SpringMVC的XML配置解析-spring18
SpringMVC的XML配置解析-spring18
|
7月前
|
应用服务中间件
从代码角度戳一下springMVC的运行过程-spring16
从代码角度戳一下springMVC的运行过程-spring16
|
前端开发 Java Go
Spring MVC 和 Spring Boot 的区别
Spring MVC 和 Spring Boot 的区别
243 0
|
8月前
|
移动开发 Java 测试技术
Spring MVC+Spring+Mybatis实现支付宝支付功能(附完整代码)
Spring MVC+Spring+Mybatis实现支付宝支付功能(附完整代码)
200 1
|
Java Spring
springmvc中spring提供的中文乱码解决问题
可以解决浏览器的乱码问题
73 0