SpringMVC基础解析

160 阅读3分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第13天,点击查看活动详情

SpringMVC框架学习

1.基本理论

1.三层架构

  • 在开发服务器端程序、一般都基于两种形式,一种C/S架构程序、一种B/S架构程序
  • 使用Java语言基本上开发B/S架构的程序、B/S架构又分成三层架构
  • 三层架构 1.表现层:WEB层,用来和客户端进行数据交互的,表现层一般采用MVC的设计模式 2.业务层:处理具体业务逻辑的 3.持久层:用来操作数据库的

2.什么是MVC

         MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。 是将业务逻辑、数据、显示分离的方法来组织代码。

MVC主要作用是降低了视图与业务逻辑间的双向偶合。

MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异。

  • Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或 JavaBean组件(包含数据和行为),不过现在一般都分离开来:Value Object(数据Dao) 和 服务层 (行为Service)。也就是模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。
  • View(视图):负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。
  • Controller(控制器):接收用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型 数据返回给视图,由视图负责展示。 也就是说控制器做了个调度员的工作。

最典型的MVC就是JSP + servlet + javabean的模式。

image.png

3.SpringMVC是什么

         SpringMVC是一种基于Java的实现MVC设计模型的请求驱动类型的轻量级Web框架,属于SpringFrameWork的后续产品,已融合在Spring Web Flow里面,Spring框架提供了构建Web应用程序的全功能MVC模块,使用Spring可插入MVC架构,从而在使用Spring进行WEB开发的时候,可选择Spring的SpringMVC框架或集成其他MVC开发框架

         SpringMVC现在已成为主流的MVC框架之一,它通过一套注解,让一个简单的Java类成为处理请求的控制器,而无须实现任何接口,他同时还支持RESTful编程风格的请求

3.1、Model1时代

         在web早期的开发中,通常采用的都是Model1。          Model1中,主要分为两层,视图层和模型层。          Model1优点:架构简单,比较适合小型项目开发;          Model1缺点:JSP职责不单一,职责过重,不便于维护;

3.2、Model2时代

Model2把一个项目分成三部分,包括视图、控制、模型。

而SpringMVC的设计模式是全新的一代,并且也适应当前的一个时代的发展,也是一个大型项目的基础设计模式,所以这个对于我们的学习是非常重要的,主要是体会到里面的设计思想,在dao,service,controller各个层的一个实现流程