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