SSM框架介绍以及功能原理

article/2025/11/10 21:36:01

SSM是sping+springMVC+mybatis集成的框架。
Spring框架概述
什么是Spring
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring的核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。
IOC:控制反转也叫依赖注入,IOC利用java反射机制,AOP利用代理模式。所谓控制反转是指,本来被调用者的实例是有调用者来创建的,这样的缺点是耦合性太强,IOC则是统一交给spring来管理创建,将对象交给容器管理,你只需要在spring配置文件总配置相应的bean,以及设置相关的属性,让spring容器来生成类的实例对象以及管理对象。在spring容器启动的时候,spring会把你在配置文件中配置的bean都初始化好,然后在你需要调用的时候,就把它已经初始化好的那些bean分配给你需要调用这些bean的类。
AOP:面向切面编程。(Aspect-Oriented Programming)
AOP可以说是对OOP的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。实现AOP的技术,主要分为两大类:一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;二是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码,属于静态代理
SpringMVC执行流程框图:
在这里插入图片描述

SpringMVC流程:
01、用户发送出请求到前端控制器DispatcherServlet。
02、DispatcherServlet收到请求调用HandlerMapping(处理器映射器)。
03、HandlerMapping找到具体的控制器(可查找xml配置或注解配置),生成处理器对象的执行链(如果有),再一起返回给DispatcherServlet。
04、DispatcherServlet调用HandlerAdapter(处理器适配器)。
05、HandlerAdapter经过适配调用具体的处理器(controller)。
06、Controller执行完成返回ModelAndView对象。
07、HandlerAdapter将Controller执行结果ModelAndView返回给DispatcherServlet。
08、DispatcherServlet将ModelAndView传给ViewReslover(视图解析器)。
09、ViewReslover解析后返回具体View(视图)。
10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。
11、DispatcherServlet响应用户。

MVC即model view controller。

model层=entity层。存放我们的实体类,与数据库中的属性值基本保持一致。

service层。存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中需要导入mapper层,mapper层是直接跟数据库打交道的,他也是个接口,只有方法名字,具体实现在mapper.xml文件里,service是供我们使用的方法。

mapper层=dao层,现在用mybatis逆向工程生成的mapper层,其实就是dao层。对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的,而service层是针对我们controller,也就是针对我们使用者。service的impl是把mapper和service进行整合的文件。

(多说一句,数据持久化操作就是指,把数据放到持久化的介质中,同时提供增删改查操作,比如数据通过hibernate插入到数据库中。)

controller层。控制器,导入service层,因为service中的方法是我们使用到的,controller通过接收前端传过来的参数进行业务操作,在返回一个指定的路径或者数据表。
MyBatis介绍
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,实质上Mybatis对ibatis进行一些改进。

MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。

Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt、CallableStatement)配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回。

Mybatis架构

1、 mybatis配置

SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息。

mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句。此文件需要在SqlMapConfig.xml中加载。

2、 通过mybatis环境等配置信息构造SqlSessionFactory即会话工厂

3、 由会话工厂创建sqlSession即会话,操作数据库需要通过sqlSession进行。

4、 mybatis底层自定义了Executor执行器接口操作数据库,Executor接口有两个实现,一个是基本执行器、一个是缓存执行器。

5、 Mapped Statement也是mybatis一个底层封装对象,它包装了mybatis配置信息及sql映射信息等。mapper.xml文件中一个sql对应一个Mapped Statement对象,sql的id即是Mapped statement的id。

6、 Mapped Statement对sql执行输入参数进行定义,包括HashMap、基本类型、pojo,Executor通过Mapped Statement在执行sql前将输入的java对象映射至sql中,输入参数映射就是jdbc编程中对preparedStatement设置参数。

7、 Mapped Statement对sql执行输出结果进行定义,包括HashMap、基本类型、pojo,Executor通过Mapped Statement在执行sql后将输出结果映射至java对象中,输出结果映射过程相当于jdbc编程中对结果的解析处理过程。


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

相关文章

ssm框架项目完整流程详解

springMVC项目完整流程详解 1.创建一个maven项目2.修改项目配置,添加tomcat,生成web.xml3.在pom.xml中引入需要用到的包并update project4.在resources下建立如下图所示结构,并创建springmvc-servlet.xml、spring-mybatis.xml、druid.propter…

SSM三大框架工作流程与原理详解

作者:网络笨猪 blog.csdn.net/lyfqyr/article/details/84552278 一、Spring部分 1、Spring的运行流程 第一步:加载配置文件ApplicationContext ac new ClassPathXmlApplicationContext("beans.xml");,ApplicationContext接口&…

SSM框架原理,作用及使用方法,详细解释

1、基本概念 1.1、Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的…

【SSM框架执行流程】

一、单个业务执行流程: 1.tomcat启动: 加载应用的web.xml 2.实例化并初始化Servlet 3.加载spring.xml配置文件创建spring容器,根据配置初始化容器中的对象。 4.浏览器客户端发送请求,例如Hello() 5.请求到达前端控制器:Dispa…

SSM框架原理流程及使用方法

作用: ssm框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层 使用springMVC负责请求的转发和视图管理 spring实现业务…

SSM框架的整合原理以及执行流程

一、SSM框架的整合流程&#xff1a; 1 Spring与Mybatis整合 &#xff1a;关键在于spring-mybatis.xml配置文件&#xff0c;主要配置自动扫描、自动注入以及数据库等。前提是要配置好JDBC属性文件jdbc.properties. <?xml version"1.0" encoding"UTF-8"…

SSM三大框架的运行流程、原理、核心技术详解

一、Spring部分 1、Spring的运行流程 第一步&#xff1a;加载配置文件ApplicationContext ac new ClassPathXmlApplicationContext("beans.xml"); &#xff0c;ApplicationContext接口&#xff0c;它由BeanFactory接口派生而来&#xff0c;因而提供了BeanFactory所…

SSM框架整合以及运行流程

最近工作中开发的项目使用了Spring-springMVC-Mybatis框架进行开发&#xff0c;今天来总结写这段时间对SSM框架的理解。在对SSM框架整合前&#xff0c;先对框架的每层的作用以及它们之间的关系做一个简单的介绍。 一、SSM框架中各层级间的作用及关系 表现层&#xff08;sprin…

SSM框架原理及使用方法

作用&#xff1a; SSM框架是spring MVC &#xff0c;spring和mybatis框架的整合&#xff0c;是标准的MVC模式&#xff0c;将整个系统划分为表现层&#xff0c;controller层&#xff0c;service层&#xff0c;DAO层四层 使用spring MVC负责请求的转发和视图管理 spring实现业…

SSM框架运行原理

ssm框架&#xff1a;包括&#xff0c;springMVC -- spring -- mybatis springMVC 是基于MVC的框架 属于MVC框架的还有&#xff1a;Struts1 Struts2 SpringMVC 获取值得方式&#xff1a; Struts1 actionForm(javabean中继承) Struts2 通过 set get 方法 SpringMVC …

SSM框架工作原理、作用及使用方法

作用&#xff1a; SSM框架是spring MVC &#xff0c;spring和mybatis框架的整合&#xff0c;是标准的MVC模式&#xff0c;将整个系统划分为表现层&#xff0c;controller层&#xff0c;service层&#xff0c;DAO层四层 使用spring MVC负责请求的转发和视图管理 spring实现业…

SSM框架原理,作用及使用方法

作用: SSM框架是spring MVC ,spring和mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层 使用spring MVC负责请求的转发和视图管理 spring实现业务对象管理,mybatis作为数据对象的持久化引擎 原理: SpringMVC: 1.客户…

SSM框架原理以及流程简略

SSM框架原理以及流程 Spring:spring实现业务对象管理,也是各个组件的粘合剂&#xff0c;可以很好的管理各层之间的框架。 SpringMvc:负责请求的转发和视图管理,springmvc是spring的模块之一&#xff0c;所有整合的时候基本上可以实现100%零配置。 mybatis&#xff1a;作为数据…

SSM三大框架的运行流程、原理、核心技术详解!

一、Spring部分 1、Spring的运行流程 第一步&#xff1a;加载配置文件ApplicationContext ac new ClassPathXmlApplicationContext("beans.xml");&#xff0c;ApplicationContext接口&#xff0c;它由BeanFactory接口派生而来&#xff0c;因而提供了BeanFactory所…

深入浅出SSM框架流程以及原理

前言:学ssm框架已经有很长时间,今天来复习一下 SSM图示流程: Spring核心:Java反射 Mybatis:动态代理,而动态代理又是基于反射的,所以,ssm框架核心原理在反射。 (1)Spring(对象工厂): 平时开发接触最多的估计就是这个IOC容器,它可以装载bean(也就是Java中的类,…

SSM框架原理以及流程

SSM框架原理以及流程 一&#xff1a;原理二&#xff1a;开发流程1.新建maven项目2.配置整合文件2.1 配置pom.xml文件---引入依赖2.2 配置web.xml文件2.3 配置springmvc2.4 配置mybatis 3.java代码---测试 一&#xff1a;原理 1.springmvc&#xff1a; 1&#xff09;.客户端发送…

SSM框架架构,原理及整合流程(eclipse)

SSM框架整合 一.SSM框架1.1SSM四个分层架构的作用与联系1.2 SSM框架原理 二.SSM框架整合流程2.1SSM框架整合后完成一个功能的步骤 一.SSM框架 SSM&#xff1a;spring MVC &#xff0c;spring和mybatis框架的整合&#xff0c;是标准的MVC模式&#xff0c;将整个系统划分为view层…

SSM框架的原理和运行流程

SSM框架的工作原理及运行流程 SSM框架简介SpringMVCSpringMybatis参考文章 SSM框架简介 SSM&#xff08;SpringSpringMVCMyBatis&#xff09;框架集由Spring、MyBatis两个开源框架整合而成&#xff08;SpringMVC是Spring中的部分内容&#xff09;。SSM常作为数据源较简单的web…

完全二叉树与满二叉树的区别+计算二叉树深度

1、完全二叉树与满二叉树的区别&#xff1a; 满二叉树&#xff1a;深度为k且有2^k-1个结点的二叉树称为满二叉树。 完全二叉树&#xff1a;设二叉树的深度为h&#xff0c;除第 h 层外&#xff0c;其它各层 (1&#xff5e;h-1) 的结点数都达到最大个数&#xff0c;第 h 层所有…

数据结构—二叉树深度优先遍历

二叉树是一种常见的数据结构&#xff0c;理解二叉树对于理解AVL树、红黑树都有重要意义&#xff0c;索性再重新梳理一下思路&#xff0c;加深印象。本文重点介绍二叉查找树。 1.二叉树与二叉查找树 二叉树&#xff08;binary tree&#xff09;是树的一种特殊形式&#xff0c;…