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

相关文章

Python Web框架Flask、Streamlit、FastAPI示例详解

《PythonWeb框架Flask、Streamlit、FastAPI示例详解》本文对比分析了Flask、Streamlit和FastAPI三大PythonWeb框架:Flask轻量灵活适合传统应用... 目录概述Flask详解Flask简介安装和基础配置核心概念路由和视图模板系统数据库集成实际示例Stre

Spring Boot 中的默认异常处理机制及执行流程

《SpringBoot中的默认异常处理机制及执行流程》SpringBoot内置BasicErrorController,自动处理异常并生成HTML/JSON响应,支持自定义错误路径、配置及扩展,如... 目录Spring Boot 异常处理机制详解默认错误页面功能自动异常转换机制错误属性配置选项默认错误处理

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

使用Go实现文件复制的完整流程

《使用Go实现文件复制的完整流程》本案例将实现一个实用的文件操作工具:将一个文件的内容完整复制到另一个文件中,这是文件处理中的常见任务,比如配置文件备份、日志迁移、用户上传文件转存等,文中通过代码示例... 目录案例说明涉及China编程知识点示例代码代码解析示例运行练习扩展小结案例说明我们将通过标准库 os

SpringBoot整合Dubbo+ZK注册失败的坑及解决

《SpringBoot整合Dubbo+ZK注册失败的坑及解决》使用Dubbo框架时,需在公共pom添加依赖,启动类加@EnableDubbo,实现类用@DubboService替代@Service,配... 目录1.先看下公共的pom(maven创建的pom工程)2.启动类上加@EnableDubbo3.实

SpringBoot整合(ES)ElasticSearch7.8实践

《SpringBoot整合(ES)ElasticSearch7.8实践》本文详细介绍了SpringBoot整合ElasticSearch7.8的教程,涵盖依赖添加、客户端初始化、索引创建与获取、批量插... 目录SpringBoot整合ElasticSearch7.8添加依赖初始化创建SpringBoot项

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配