SSM框架整合以及运行流程(各层关系)

2024-02-29 20:32

本文主要是介绍SSM框架整合以及运行流程(各层关系),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SSM中各层作用及关系

1.持久层:DAO层(mapper层)(属于mybatis模块)

  • DAO层:主要负责与数据库进行交互设计,用来处理数据的持久化工作。

  • DAO层的设计首先是设计DAO的接口,也就是项目中你看到的Dao包。

  • 然后在Spring的xml配置文件中定义此接口的实现类,就可在其他模块中调用此接口来进行数据业务的处理,而不用关心接口的具体实现类是哪个类,这里往往用到的就是反射机制,DAO层的jdbc.properties数据源配置,以及有 关数据库连接的参数都在Spring的配置文件中进行配置。

  • ps:(有的项目里面Dao层,写成mapper,当成一个意思理解。)

2.业务层:Service层(属于spring模块)

  • Service层:主要负责业务模块的逻辑应用设计。也就是项目中你看到的Service包。

  • Service层的设计首先是设计接口,再设计其实现的类。也就是项目中你看到的service+impl包。

  • 接着再在Spring的xml配置文件中配置其实现的关联。这样我们就可以在应用中调用Service接口来进行业务处理。

  • 最后通过调用DAO层已定义的接口,去实现Service具体的实现类。

  • ps:(Service层的业务实现,具体要调用到已定义的DAO层的接口.)

3.控制层/表现层:Controller层(Handler层) (属于springMVC模块)

  • Controller层:主要负责具体的业务模块流程控制,也就是你看到的controller包。

  • Controller层通过要调用Service层的接口来控制业务流程,控制的配置也同样是在Spring的xml配置文件里面,针对具体的业务流程,会有不同的控制器。

4.View层 (属于springMVC模块)

  • 负责前台jsp页面的展示,此层需要与Controller层结合起来开发。

  • Jsp发送请求,controller接收请求,处理,返回,jsp回显数据。

3.三层架构运行流程

SSM框架下web项目运行流程

4.各层之间的联系

  • DAO层,Service层这两个层次可以单独开发,互相的耦合度很低。

  • Controller,View层耦合度比较高,因而要结合在一起开发。也可以听当做两层来开发,这样,在层与层之前我们只需要知道接口的定义,调用接口即可完成所需要的逻辑单元应用,项目会显得清晰简单。

  • 值得注意的是,Service逻辑层设计: 
    • Service层是建立在DAO层之上的,在Controller层之下。因而Service层应该既调用DAO层的接口,又提供接口给Controller层的类来进行调用,它处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。 
      • SSM框架下web项目运行流程

4.SSM框架实现一个web程序主要使用到如下三个技术:

  1. Spring:用到注解和自动装配,就是Spring的两个精髓IOC(反向控制)和 AOP(面向切面编程)。

  2. SpringMVC:用到了MVC模型,将流程控制代码放到Controller层处理,将业务逻辑代码放到Service层处理。

  3. Mybatis:用到了与数据库打交道的层面,dao(mapper)层,放在所有的逻辑之后,处理与数据库的CRUD相关的操作。

比如你开发项目的时候,需要完成一个功能模块:

  1. 先写实体类entity,定义对象的属性,(可以参照数据库中表的字段来设置,数据库的设计应该在所有编码开始之前)。

  2. 写Mapper.xml(Mybatis),其中定义你的功能,对应要对数据库进行的那些操作,比如 insert、selectAll、selectByKey、delete、update等。

  3. 写Mapper.java/Dao.java,将Mapper.xml中的操作按照id映射成Java函数。实际上就是Dao接口,二者选一即可。

  4. 写Service.java,为控制层提供服务,接受控制层的参数,完成相应的功能,并返回给控制层。

  5. 写Controller.java,连接页面请求和服务层,获取页面请求的参数,通过自动装配,映射不同的URL到相应的处理函数,并获取参数,对参数进行处理,之后传给服务层。

  6. 写JSP页面调用,请求哪些参数,需要获取什么数据。

这篇关于SSM框架整合以及运行流程(各层关系)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/759974

相关文章

Git打标签从本地创建到远端推送的详细流程

《Git打标签从本地创建到远端推送的详细流程》在软件开发中,Git标签(Tag)是为发布版本、标记里程碑量身定制的“快照锚点”,它能永久记录项目历史中的关键节点,然而,仅创建本地标签往往不够,如何将其... 目录一、标签的两种“形态”二、本地创建与查看1. 打附注标http://www.chinasem.cn

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

SpringBoot集成XXL-JOB实现任务管理全流程

《SpringBoot集成XXL-JOB实现任务管理全流程》XXL-JOB是一款轻量级分布式任务调度平台,功能丰富、界面简洁、易于扩展,本文介绍如何通过SpringBoot项目,使用RestTempl... 目录一、前言二、项目结构简述三、Maven 依赖四、Controller 代码详解五、Service

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

Spring Boot 整合 SSE(Server-Sent Events)实战案例(全网最全)

《SpringBoot整合SSE(Server-SentEvents)实战案例(全网最全)》本文通过实战案例讲解SpringBoot整合SSE技术,涵盖实现原理、代码配置、异常处理及前端交互,... 目录Spring Boot 整合 SSE(Server-Sent Events)1、简述SSE与其他技术的对

Java整合Protocol Buffers实现高效数据序列化实践

《Java整合ProtocolBuffers实现高效数据序列化实践》ProtocolBuffers是Google开发的一种语言中立、平台中立、可扩展的结构化数据序列化机制,类似于XML但更小、更快... 目录一、Protocol Buffers简介1.1 什么是Protocol Buffers1.2 Pro

springboot整合mqtt的步骤示例详解

《springboot整合mqtt的步骤示例详解》MQTT(MessageQueuingTelemetryTransport)是一种轻量级的消息传输协议,适用于物联网设备之间的通信,本文介绍Sprin... 目录1、引入依赖包2、yml配置3、创建配置4、自定义注解6、使用示例使用场景:mqtt可用于消息发