JavaWeb基础 – SpringMVC
1.MVC简介
1.1 应用分层
应用分层是一种软件开发思想,将应用程序划分为多个层次,每个层次都分别负责自己的职责,多个层次之间来协同提供完整的功能,根据项目的复杂度,将项目分成三层或四层等。随着项目业务越来越复杂,大量的代码混在一起会造成逻辑不清晰、各个模块相互依赖,扩展性差,因此需要对项目进行分层。
1.2 MVC介绍
MVC把软件系统分为以下三个部分:
- Model模型:用于处理程序中数据逻辑部分。
- View视图:在应用程序中,专门与浏览器进行交互、展示数据的资源。
- Controller控制器:用于决定对于视图发送过来的请求需要使用哪个模型来处理,以及处理完毕后需要跳转至哪个视图。
2.SpringMVC
2.1 简介
SpringMVC是将MVC思想进行实现,同时也是一个Web框架。在创建一个SpringBoot项目时,使用的就是SpringMVC框架。在Spring中MVC也进行改进,浏览器会直接将请求发送至Controller,随后再通过Controller的响应将视图返回至浏览器。
3.三层框架
3.1 产生原因
目前主流的Web开发方式为前后端分离方式,不需要通过Spring去渲染视图,因此View模块也不再需要。对于前后端分离的项目只需要约定好接口,完成后端开发就可以使用,因此也诞生了新的分层方式
- 表现层:数据结果展示,接收用户请求。
- 业务逻辑层:负责处理业务逻辑。
- 数据层:负责存储和管理数据。
对应到SpringMVC中即2: - Controller:控制层,用来接收前端发来的请求,在Service 层中选择对应的处理逻辑,并且给前端进行响应。
- Service:业务逻辑层,对发来的请求进行具体的逻辑处理。
- Dao:数据访问层,负责访问数据库,进行增删查改的操作。
3.2 三层框架与MVC关系
三层框架中的“表现层”对应MVC的View和Controller层,其功能都是用于接收请求和展示数据的,因此表现层也可以是视图层。而三层框架中的业务逻辑层和数据层对应MVC的model层,均用于处理业务逻辑。二者只不过是从不同角度上进行了抽象,MVC它强调的是数据和视图的分离,将数据的展示和数据的处理分开。三层架构强调的是从不同维度上对数据进行处理,以达到“高内聚,低耦合”。
- 高内聚:一个模块中各个元素之间的联系的紧密程度,如果各个元素之间的联系程度越高,则内聚性越高,即“高内聚”。
- 低耦合:项目中,各个层或者模块间的依赖关联程度越低越好,不会因为修改一处代码,造成很多的代码都需要改动。