MVC设计模式:
概述:
是一种开发结构合理、能使前后端分离、流程控制逻辑、业务逻辑调用与展示逻辑分离,实现高内聚,低耦合的设计模式。
M:数据实体模型(Model或Entity):
每一个类的成员变量字段对应数据库字段对应(对应的Entity、JavaBean),提供数据的CRUD操作,实现数据库的持久化。
V:视图(View):
视图层:客户端用户能直接看到的页面,主要负责视图的展示。视图层调用控制层(HTML、JSP等文件)。
C:控制 (Controller):
前端视图层的参数提交和页面的响应,都委托给前端处理器处理,在Spring MVC框架下,在Controller作为控制层,Controller响应URL请求并进行处理,根据映射对应关系,调用service层,service层的接口实现类(xxxserviceImpl)调用Dao层完成数据初始化工作。负责处理模型处理,处理完成后把模型数据返回给视图。(中间调度员Dispatcher)。
SSM框架项目搭建流程
-
数据库准备:创建数据库,构思需求的数据类型。
准备实体类,与数据库一一对应
(com.it.entity) -
构建Dao层
(com.it.dao)
构建接口:名称叫XXXDao
Dao只做单一的逻辑:对数据库CRUD功能接口定义。
并且写get/set/return方法、构造方法(方便输出)。 -
Dao层接口实现
在使用MyBatis时,MyBatis自动实现,可不必写dao层的实现类,可以直接在Mapper.xml文件里写对应的SQL语句来完成对数据库的持久化操作。
业务层:
5. 定义service
(com.it.xxxservice)
在xxxService类里定义服务接口,根据需求定义业务功能接口,在每一个接口上方可写注释来明确该接口的功能。
在Service包下建立Impl文件夹,放Service层定义的接口功能实现类。
总结:
面向接口编程:当用户在页面(View层)向服务器发送一个请求时,请求由控制层(Controller)处理,Controller负责拦截和调用业务层相关逻辑(service接口对应的impl实现类),业务层调用Dao层对数据库进行操作,从而实现数据的持久化,最终前端处理器Controller返回处理过后的页面显示给用户。
图片来自网络
这是一个刚入行的小白对MVC设计模式的理解,写博客的目的就是能将一些自己的理解记录下来,或许我的博客还能帮助到大家,当然,我也迫切希望经验丰富的前辈们能对我的理解给你们宝贵的建议,谢谢!