SSM框架详解

article/2025/9/20 9:03:32

SSM框架详解

写在前面:当初整理SSM原理时,参考了网上一些前辈的文章,时间久远已经忘记来源,所以文中原理部分如有侵权请联系我删除。

基于SSM框架的仿天猫商城网站+电商后台管理系统

本文视频讲解

文章目录

    • SSM框架详解
  • 一、项目结构
    • src/com.jingmall
    • WebRoot
    • pom.xml
  • 二、SSM框架原理
    • SpringMVC
    • Spring
    • MyBatis
  • 三、管理员登录实例

一、项目结构

项目结构

src/com.jingmall

base基类
controller、service、serviceImpl、dao都要继承此基类

po/entity实体类
实体类,定义对象的属性和get、set等方法。一般,一个实体类对应数据库里的一张表。
管理员实体类数据库中的管理员表
service业务层
Service层的业务实现,具体要调用到已定义的DAO层的接口。为controller层提供服务,接受控制层的参数,完成相应的功能,并返回给controller。
在这里插入图片描述在这里插入图片描述
mapper/dao持久层
主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,Mapper.java:定义要对数据库进行的操作,比如 insert、delete、update、listAll等方法。
在这里插入图片描述
Mapper.xml:将Mapper.java中的方法按照id映射成sql。
在这里插入图片描述
controller控制器
连接页面请求和服务器,获取页面请求的参数,通过自动装配,映射不同的URL到相应的处理函数,并获取参数,对参数进行处理,之后传给服务层。
在这里插入图片描述

WebRoot

在这里插入图片描述
resource存放静态资源文件,如一些前端文件,css、js、图片等。

WEB-INF/jsp是前端页面,对应MVC中的V,视图。
在这里插入图片描述
web.xml是JavaWeb项目的入口文件。

pom.xml

Maven通过pom.xml配置,引入项目所需要的jar包。

二、SSM框架原理

SpringMVC

SSM框架是Spring MVC + Spring + MyBatis框架的整合。
使用Spring MVC负责请求的转发和视图管理;Spring实现业务对象管理;MyBatis作为数据对象的持久化引擎。

DAO层(mapper):主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此
1、DAO层的设计首先是设计DAO的接口,
2、然后在Spring的配置文件中定义此接口的实现类,
3、然后就可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,
4、DAO层的数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。

Service层:主要负责业务模块的逻辑应用设计。
1、首先设计接口,再设计其实现的类
2、接着再在Spring的配置文件中配置其实现的关联。这样我们就可以在应用中调用Service接口来进行业务处理。
3、Service层的业务实现,具体要调用到已定义的DAO层的接口,
4、封装Service层的业务逻辑有利于通用的业务逻辑的独立性和重复利用性,程序显得非常简洁。

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

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

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

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

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

Spring

spring是一个容器框架,它可以接管web层,业务层,dao层,持久层的各个组件,并且可以配置各种bean, 并可以维护bean与bean的关系,当我们需要使用某个bean的时候,我们可以直接getBean(id),使用即可。

Spring目的是让对象与对象(模块与模块)之间的关系没有通过代码来关联,都是通过配置类说明管理的(Spring根据这些配置 内部通过反射去动态的组装对象) ,Spring是一个容器,凡是在容器里的对象才会有Spring所提供的这些服务和功能。

MyBatis

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

三、管理员登录实例

LoginController.java
在这里插入图片描述在这里插入图片描述

@Controller使用注解,这样spring mvc可以扫描并识别到它,这个配置可以在com.jingmall/spring/springmvc.xml里找到
@RequestMapping("/login")解析前端的url,找到相应的控制器
在这里插入图片描述
@RequestMapping(“login”)解析前端的url,找到相应的管理员登录入口方法
在这里插入图片描述
login()方法返回一个路径字符串"/login/mLogin",这个路径指向项目里的某个jsp页面,jsp文件根目录/WEB-INF/jsp/,以及文件后缀.jsp,在指定时都可以省略都省略

mLogin.jsp
引入了很多css样式,这些是美工做好的,不是后端开发者的任务,我们需要重点关注表单form里的内容,用户名的输入是文本类型,给这个文本里的数据起个名字name,这个相当于前后端数据交互的依据,是必填的。密码的输入是密码类型的。登录按钮是提交类型,点击登录会提交表单,发送一次请求。

简单来说,管理员登录入口方法只做了一件事,就是把jsp页面渲染出来

看回LoginController.java,继续看下一个方法,管理员登录验证checkLogin()
在这里插入图片描述
传进来的参数是一个Manager类型的对象,所以需要先写Manager实体类

Manager.java (/com.jingmall/po)
Manager实体类对应数据库里的Manager表

调用ManagerService里的getByEntity(manager)方法,参数和返回类型是一个Manager实体类对象。
宏观上说,这个方法要做的事情是通过对象查询manager表并返回这个实体对象。比如我们在登录页面输入用户名和密码,前端页面提交数据到后端,后端实例化一个manager实体类对象,把用户名和密码赋值给这个对象,因为只提交了用户名和密码的数据,所以这个manager对象的realName属性值为null,通过调用一系列的接口最终到达数据库进行查询,如果查得到,就将整条记录赋给这个对象,这时管理员对象的真实姓名这个属性就变得有值了。
详细理解下这中间一系列调用接口的过程,controller通过调用service层的接口,找到dao层对应的接口,在dao层完成跟数据库的交互,实现数据落地。
在这里插入图片描述
service里的getByEntity()接口,这个接口的实现类在serviceImpl.java里
在这里插入图片描述
这个方法做的事情是返回BaseDao里的getByEntity()接口,虽然方法的名字都是getByEntity(),但它们所在层次不一样,每个层次负责的事情是不一样的,当然这些方法名可以不一样,用到的时候指明就行。再看dao层的getByEntity()接口
/BaseDao.java/
在这里插入图片描述在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/uVGW2uIm.shtml

相关文章

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…

mysql安装教程2023

下载路径&#xff1a; MySQL :: MySQL Downloads 步骤&#xff1a; 让我看看是谁点了这两个 安装&#xff1a; 1.找到下载路径打开Mysql安装包&#xff0c;进入配置界面 点击Next下一步 &#xff0c;Cancel是取消安装可别乱点 Installation&#xff08;安装&#xff09;&…

MySQL安装配置教程(详细教程)

一,下载MySQL Mysql官网下载地址https://downloads.mysql.com/archives/installer/ 选择你要下载的版本号。 本文章是8.0.27版本 二&#xff0c;安装MySQL 点击打开文件&#xff0c;点击运行。直接选择Custom。在点击Next就可以 2.选择MySQL Servers-->MySQL Server-->…