SSM框架中MVC各层的作用以及运行流程

 这篇博文主要介绍的是SSM(Spring、SpringMVC、Mybatis)框架中,MVC各层的作用以及各层之间的交互和框架整体运行流程。

一、MVC各层级间的作用及关系


表现层(springMVC):Controller层(Handler层)

负责具体的业务模块流程的控制
Controller层通过要调用Service层的接口来控制业务流程,控制的 
配置也在Spring配置文件里面。
业务层(Spring):Service层

Service层:负责业务模块的逻辑应用设计。
首先设计其接口,然后再实现他的实现类。
通过对Spring配置文件中配置其实现的关联,完成此步工作,我们 
就可以通过调用Service的接口来进行业务处理。
最后通过调用DAO层已定义的接口,去实现Service具体的 实现类。
持久层(Mybatis):Dao层(Mapper层)

Dao层:负责与数据库进行交互设计,用来处理数据的持久化工作。
DAO层的设计首先是设计DAO的接口,
然后在Spring的配置文件中定义此接口的实现类,就可在其他模块中 
调用此接口来进行数据业务的处理,而不用关心接口的具体实现类是 
哪个类,这里用到的就是反射机制, DAO层的数据源配置,以及有 
关数据库连接的参数都在Spring的配置文件中进行配置。
视图层:View层

负责前台jsp页面的展示。
此层需要与Controller层结合起来开发。
各层间的联系:

本来Controller层与View层是可以放在.jsp文件里一起开发的,但是为了降低代码的复杂度,提高其可维护性,将其分为了这两层,这也体现了MVC框架的特性,即结构清晰,耦合度低。
Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的,因而Service层应该既调用DAO层的接口,又要提供接口给Controller层的类来进行调用,它刚好处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。


二、SSM框架整合说明


这里有一篇总结的详细的博文,大家可以参考着这位博主的来理解。 
SSM框架--详细整合教程

三、SSM框架各层交互以及运行流程

 

2

Model

  • 业务处理 :业务逻辑(Service)
  • 数据持久层:CRUD (Dao - 数据持久化对象)

View

  • 展示数据
  • 提供链接发起Servlet请求 (a,form,img…)

Controller (Servlet)

  • 接收用户的请求 :(req:请求参数、Session信息….)

  • 交给业务层处理对应的代码

  • 控制视图的跳转

    登录--->接收用户的登录请求--->处理用户的请求(获取用户登录的参数,username,password)---->交给业务层处理登录业务(判断用户名密码是否正确:事务)--->Dao层查询用户名和密码是否正确-->数据库
    
    • 1

      mvc

       

    • 三层架构

    • 三层架构是指:视图层view,服务层service,持久层Dao,通常也叫(表示层UI,业务逻辑层BLL,数据访问层DAL)它们的功能是: 
      1.view层:  用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面
      2.service层:实现业务的主要逻辑,是系统架构中体现核心价值的部分。
      3.Dao层:有时候也称为是持久层,其功能主要是负责数据库的访问。可以访问数据库、二进制文件、文本文件等。简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。


      三层架构的出现是为了降低耦合度,在这里,使用面向抽象编程,也就是上层对下层的调用,直接通过接口来完成,下层对上层的真正服务提供者,是下层实现的接口实现类,实现类是可以更换的,这就实现了层间的解耦合。 


      实际项目中的包命名结构,其实就是三层架构的体现:

      xxx:代表公司名称       yyy:代表项目名称

    • com.xxx.yyy.dao      dao层接口
    • com.xxx.yyy.dao.impl    dao层实现
    • com.xxx.yyy.service    service层接口
    • com.xxx.yyy.service.impl  service层实现      
    • com.xxx.yyy.web      web层
    • com.xxx.yyy.util      工具包
    • com.xxx.yyy.domain    javabean
    • MVC

      MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:
      1.View: 视图,为用户提供使用界面,与用户进行交互。 
      2.Model: 模型承载数据,对用户提交请求进行计算的模块,分为两类:1.数据承载bean,2.业务承载bean,数据承载bean是指实体类专门承载业务数据的,比如Student,User,业务处理bean是指Service或者Dao对象,专门处理用户的请求的。 
      Controller:控制器,用来将用户请求转发给相应的Model进行处理,并且根据Model的计算结果向用户提供相应的响应。

      MVC工作流程:

      最典型的MVC就是我们最近学习的JSP + Servlet + javabean的模式。

      三层架构与MVC的关系

      三层架构与MVC毫无关系。之所以这样说,是因为它们二者使用范围不同:三层可以应用于任何语言、任何技术的应用程序;而MVC只是为了解决B-S应用程序视图层各部分的耦合关系。它们互不冲突,可以同时存在,也可根据情况使用其中一种。

      之所以我们会混淆,是因为在进行web开发时两者会同时使用。

      在三层架构设计中,表示层可由MVC设计模式中的视图和控制器来实现,而业务逻辑层和数据访问层则组成MVC设计模式中的模型的实现。因此,在实际的应用中,都是采用三层架构来搭建系统的框架,而表示层与业务逻辑层和数据访问层的交互则是通过MVC设计模式来实现。

      SSM与三层架构的对应关系

      SSM,即SpringMVC,Spring与Mybatis的统称。

      1.SpringMVC:作为view的实现者,它的controller作为整个应用的控制器,完成用户请求的转发和对用户的响应。 
      2.Mybatis:作为Dao的实现者,完成数据库的增伤改查等功能。 
      3.Spring:是整个应用的大管家,整个应用中所有的bean的生命周期行为,都是由Spring来管理的,就是说整个应用中所有的对象的创建,初始化,销毁,以及对象之间关联的关系维护,都是由Spring来进行管理。 

  • 3
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SSM框架在以上流程的体现主要集在后端开发部分,它提供了一种基于Java的快速开发解决方案,可以帮助开发人员更高效地完成后端业务逻辑和数据持久化的实现。 1. Spring:Spring框架提供了依赖注入和面向切面编程等功能,可以帮助开发人员实现业务逻辑的解耦和管理。在前端实现流程,Spring可以用来管理后端的业务逻辑和数据处理,将前端发来的请求委托给相应的处理器进行处理。 2. SpringMVC:SpringMVC是Spring框架的一部分,它提供了MVC(模型-视图-控制器)的架构模式,用于处理前端请求和生成响应。在前端实现流程,SpringMVC可以接收前端的请求,并将请求转发给相应的控制器进行处理,最后生成响应返回给前端。 3. MyBatis:MyBatis是一款优秀的持久层框架,它可以与关系型数据库进行交互,提供了灵活的SQL映射和数据库操作支持。在前端实现流程,MyBatis可以用来与数据库进行交互,执行数据的增删改查操作。 综合来看,SSM框架在以上流程的体现主要是通过Spring、SpringMVC和MyBatis的协同工作来实现后端的业务逻辑和数据持久化。前端开发人员在与后端开发人员进行接口对接时,可以通过SSM框架提供的便捷和高效的方法来进行数据的传输和交互。这样可以提高开发效率,减少代码的冗余,并保持良好的系统可维护性和扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值