SSM框架原理

article/2025/9/20 8:58:38

 SSM框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层

使用spring MVC负责请求的转发和视图管理

spring实现业务对象管理,mybatis作为数据对象的持久化引擎
 

原理:

SpringMVC:

1.客户端发送请求到DispacherServlet(分发器)

2.由DispacherServlet控制器查询HanderMapping,找到处理请求的Controller

3.Controller调用业务逻辑处理后,返回ModelAndView

4.DispacherSerclet查询视图解析器,找到ModelAndView指定的视图

5.视图负责将结果显示到客户端

Spring:我们平时开发接触最多的估计就是IOC容器,它可以装载bean(也就是我们Java中的类,当然也包括service dao里面的),有了这个机制,我们就不用在每次使用这个类的时候为它初始化,很少看到关键字new。另外spring的aop,事务管理等等都是我们经常用到的。
 

Mybatis:mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
 

使用方法

要完成一个功能:

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

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

3.    写Mapper.java,将Mapper.xml中的操作按照id映射成Java函数。

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

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

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

DataBase===> Entity ===> Mapper.xml ===> Mapper.Java ===> Service.java ===>Controller.java ===> Jsp.  

SpringMVC:控制层,接收外部请求,解析参数传给服务层
Spring:容器,控制反转和依赖注入,创建对象交由容器管理,达到了解耦的作用,管理对象间的依赖,提供事务机制
mybatis:orm持久层框架,将业务实体与数据表联合起来,主要用来操作数据库(数据库的增删改查)

IOC:控制反转,是一种降低对象之间耦合关系的设计思想,面试的时候最好能说出来个例子,加深理解。例子:租房子,以前租房子需要一个房子一个房子找,费时费力,然后现在加入一个房屋中介,把你需要的房型告诉中介,就可以直接选到需要的房子,中介就相当于spring容器。

AOP:面向切面编程,是面向对象开发的一种补充,它允许开发人员在不改变原来模型的基础上动态的修改模型以满足新的需求,如:动态的增加日志、安全或异常处理等。AOP使业务逻辑各部分间的耦合度降低,提高程序可重用性,提高开发效率。

持久层:DAO层(mapper)

·        DAO层:DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此, 

·        DAO层的设计首先是设计DAO的接口,

·        然后在Spring的配置文件中定义此接口的实现类,

·        然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,

·        DAO层的数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。

业务层:Service层

·        Service层:Service层主要负责业务模块的逻辑应用设计。 

·        首先设计接口,再设计其实现的类

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

·        Service层的业务实现,具体要调用到已定义的DAO层的接口,

·        封装Service层的业务逻辑有利于通用的业务逻辑的独立性和重复利用性,程序显得非常简洁。

表现层:Controller层(Handler层)

·        Controller层:Controller层负责具体的业务模块流程的控制, 

·        在此层里面要调用Service层的接口来控制业务流程,

·        控制的配置也同样是在Spring的配置文件里面进行,针对具体的业务流程,会有不同的控制器,我们具体的设计过程中可以将流程进行抽象归纳,设计出可以重复利用的子单元流程模块,这样不仅使程序结构变得清晰,也大大减少了代码量。

View层

·        View层 此层与控制层结合比较紧密,需要二者结合起来协同工发。View层主要负责前台jsp页面的表示.

各层联系

·        DAO层,Service层这两个层次都可以单独开发,互相的耦合度很低,完全可以独立进行,这样的一种模式在开发大项目的过程中尤其有优势

·        Controller,View层因为耦合度比较高,因而要结合在一起开发,但是也可以看作一个整体独立于前两个层进行开发。这样,在层与层之前我们只需要知道接口的定义,调用接口即可完成所需要的逻辑单元应用,一切显得非常清晰简单。

·        Service逻辑层设计

·        Service层是建立在DAO层之上的,建立了DAO层后才可以建立Service层,而Service层又是在Controller层之下的,因而Service层应该既调用DAO层的接口,又要提供接口给Controller层的类来进行调用,它刚好处于一个中间层的位置。每个模型都有一个Service接口,每个接口分别封装各自的业务处理方法。

 


http://chatgpt.dhexx.cn/article/6hWwKBa7.shtml

相关文章

SSM框架总结

一:什么是SSM框架? SSM框架是Spring、SpringMVC和MyBatis框架的总结,是比较标准的MVC模式。 标注的SSM框架有四层:dao(mapper)层、service层、controller层、domain(entity)层。 使用Spring实现业务对象…

SSM框架详解

SSM框架详解 写在前面:当初整理SSM原理时,参考了网上一些前辈的文章,时间久远已经忘记来源,所以文中原理部分如有侵权请联系我删除。 基于SSM框架的仿天猫商城网站电商后台管理系统 本文视频讲解 文章目录 SSM框架详解 一、项…

java ssm框架论文,ssm框架理解

文章简介: SSM框架集简介 spring框架IOC的理解 mybatis框架sqlSessionFactory理解 Tomcat的理解 图解SSM SSM框架常用注解 1.SSM框架集简介 SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的…

SSM框架详细讲解

SSM框架 文章目录 SSM框架&#xff08;白痴都看完都会&#xff09;介绍SSM框架<原理>一、什么是SSM框架&#xff1f; 1.Spring2.Spring MVC3.Mybatis &#xff08;核心是SqlSession&#xff09;二、代码实战 1.创建配置工程2.代码实战&#xff08;查询记录数&#xff0…

SSM三大框架超详细总结(适合你重新回顾)

目录 1.1 概念 1.2 Mybatis优点 1.3 Mybatis架构 1.4 底层原理 1.5 Mybatis缓存 1.6 常见面试题 2.1 概念 2.2 Spring优点 2.3 Spring架构 2.4 控制反转&#xff08;IOC&#xff09; 2.5 DI依赖注入 2.6 底层原理(常见面试题) 8、如何用基于 Java 配置的方式配置 Spring&#…

SSM框架整合思想及步骤

前言 SSM框架即是将SpringMVC框架、Spring框架、MyBatis框架整合使用。以简化在web开发中繁琐、重复的操作&#xff0c;让开发人员的精力专注于业务处理的开发上。 一、SSM框架的思想 ssm框架根据SpringMVC、Spring、MyBatis三者各自的特性及应用场景对其操作的的业务进行了分…

SSM框架简介

一、Java SSM框架的概念 Java SSM框架即指SpringSpringMVCMyBatis的简称&#xff0c;框架集由Spring、MyBatis两个开源框架整合而成&#xff08;SpringMVC是Spring中的部分内容&#xff09;,常作为数据源较简单的web项目的框架。 相比于之前的SSH&#xff08;SpringStrutsHibe…

SSM框架讲解(史上最详细的文章)

SSM框架&#xff08;白痴都看完都会&#xff09; 文章目录 SSM框架&#xff08;白痴都看完都会&#xff09;介绍SSM框架<原理>一、什么是SSM框架&#xff1f;1.Spring2.Spring MVC3.Mybatis &#xff08;核心是SqlSession&#xff09; 二、代码实战1.创建配置工程2.代码实…

MySQL安装教程(超详细教程)

MySQL详细安装步骤 - windows(MySQL Installer for Windows)附链接 1.下载所需要的版本(可自选&#xff0c;5.7.29为稳定版本)下载链接&#xff0c;运行程序 2.个人学习使用server only&#xff0c;如果不确定需求&#xff0c;则选择full&#xff0c;全部安装&#xff1b;Next …

Mysql详细安装教程

&#x1f973;&#x1f973;&#x1f973; 茫茫人海千千万万&#xff0c;感谢这一刻你看到了我的文章&#xff0c;感谢观赏 &#x1f60f;。 &#x1f449; 作者简介&#xff1a;最爱吃鱼罐头。(抱歉&#xff0c;我真的吃鱼罐头&#x1f92b;) &#x1f97a; 本人不才&#xff…

【MySQL】免安装版MySQL安装教程

前言 近日&#xff0c;重新安装了一下本地的数据库&#xff0c;参考了很多博客才将MySQL给安装好&#xff0c;为了方便以后安装&#xff0c;便结合了网上博客的安装方法以及自己的一些经验写下这篇博客&#xff0c;也希望能给你们带来帮助。 一、MySQL是什么&#xff1f; My…

MySQL 8.0.32安装教程

目前&#xff0c;主流关系型数据库管理系统&#xff1a;Oracle&#xff08;收费的数据库&#xff0c;价钱较昂贵&#xff0c;但是除了提供软件还提供相应服务&#xff09;、MySQL&#xff08;中小型数据库&#xff0c;开源的社区版和收费版&#xff09;、Microsoft SQL server&…

mysql安装教程5.1_mysql 5.1安装教程详解

1. 下载的mysql安装文件&#xff0c;运行 mysql-5.1.62&#xff0c;出现如下界面&#xff1b; 2. 向导启动&#xff0c;按Next继续&#xff0c;有三个选项&#xff0c;我们选择用户自定义“Custom”&#xff0c;有更多的选项&#xff0c;也方便熟悉整个安装过程&#xff1b;…

MySQL安装教程——安装篇

目录 1.双击下载的mysql文件(.msi结尾的) 2. 选中“ I accept the license terms”单击Next 3.选择安装类型&#xff0c;我这里选择“Server only”&#xff0c;仅安装MySQL数据库服务器&#xff0c;然后点击Next 4. 执行MySQL的下载和安装&#xff0c;单击 Execute 5. MySQL安…

超详细MySQL安装教程(Windows)

推荐自己写的MySQL专栏&#xff1a;MySQL相关安装教程与MySQL语法 本人前不久把电脑Win10 x64系统给重置了&#xff0c;阅读官方文档&#xff0c;正打算把MySQL下载安装的时候&#xff0c;萌生了专门为萌新写一篇MySQL安装教程的想法&#xff08;请按照顺序操作哦&#xff09; …

MySql安装教程,Win11环境

换了电脑&#xff0c;重新安装环境&#xff0c;顺便记录~~~ 安装环境&#xff1a;Win11 目录 MySQL的两种安装方式&#xff1a; .msi安装 1.通过上方链接进入官网下载页面 2.选择下载 3.不注册登录&#xff0c;直接下载 开始安装 1.找到下载好的安装包&#xff0c;双…

MySQL安装教程(压缩包方式)

MySQL下载 有两种安装方式&#xff0c;一种客户端方式&#xff0c;一种是压缩包方式&#xff0c;个人比较喜欢压缩包方式。 本文以版本5.7.35为例 网址&#xff1a;https://downloads.mysql.com/archives/community/ 下载后解压即可&#xff0c;记住解压目录 配置环境变量 可…

Mysql安装教程(zip版)

目录 下载 解压、配置环境变量 准备配置 mysql服务 mysql安装时比较复杂&#xff0c;容易出错&#xff0c;特别是安装版&#xff08;msi&#xff09;在安装过程中会报各种奇奇怪怪的错误 所以写一篇文章记录一下 本篇笔者安装版本为mysql5.7.33 下载 zip版下载地址&…

最详细MySql安装教程

最详细MySql安装教程 一、进入官网&#xff1a;https://www.mysql.com/ 下载完成后&#xff0c;检查电脑名称是否有中文字符。若有请点击重命名电脑进行更换。 二、正式安装 进入到这个页面后&#xff0c;需要安装哪些组件呢&#xff1f; 小技巧步骤如下&#xff1a;…

Navicat for MySQL 安装教程

文章目录 一、下载地址二、安装步骤1.解压后得到两个应用程序&#xff1a;2.先安装 navicat111_mysql_cs_x64.exe3.再安装 PatchNavicat.exe4.安装成功后&#xff0c;会有成功弹框提示&#xff1b;5.运行Navicat&#xff0c;输入个人信息 三、报错1251的详细解决方案1.报错1251…