百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

SSM框架简单介绍(ssm框架流程简单说明)

ccwgpt 2024-10-29 13:30 41 浏览 0 评论

一. SSM框架简介及特征

1.SpringMVC

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow 里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring 的SpringMVC框架或集成其他MVC开发框架,如Struts1,Struts2等。

Spring MVC 分离了控制器、模型对象、过滤器以及处理程序对象的角色,这种分离让它们更容易进行定制

易于同其它View框架(Tiles等)无缝集成,采用IOC便于测试。

2.Spring

Spring Framework是一个开源的Java/Java EE全功能栈的应用程序框架, 以Apache许可证形式发布,也有.NET平台上的移植版本。Spring Framework 提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码 变得繁杂混乱的大量的属性文件和帮助类。

轻量—从大小与开销两方面而言Spring都是轻量的。Spring非侵入式的,应用中的对象不依赖于Spring特定类。

控制反转—Spring通过一种称作控制反转的技术促进了低耦合。不是对象从容器中查找依赖,而是容器在对象 初始化时不等对象请求就主动将依赖传递给它。

面向切面—Spring提供了面向切面编程的丰富支持,通过分离应用的业务逻辑与系统级服务进行内聚性的开发。

容器—Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器。

3.Mybatis

MyBatis是一个Java持久化框架,它通过XML描述符或注解把对象与存储过程或SQL语句关联起来。 MyBatis是在Apache许可证 2.0下分发的自由软件,是iBATIS 3.0的分支版本。其维护团队也包含iBATIS的初创成员

1. 易于上手和掌握。

2. sql写在xml里,便于统一管理和优化。

3. 解除sql与程序代码的耦合。

4. 提供xml标签,支持编写动态sql。

二、SpringMVC流程架构图

三、SSM框架原理

Spring MVC运行原理

1.用户发送请求至 前端控制器DispatcherServlet。

2.前端控制器DispatcherServlet收到请求后调用处理器映射器HandlerMapping。

3.处理器映射器HandlerMapping根据请求的Url找到具体的处理器,生成处理器对象Handler及处理器拦截器 HandlerIntercepter(如果有则生成)一并返回给前端控制器DispatcherServlet。

4.前端控制器DispatcherServlet通过处理器适配器HandlerAdapter调用处理器Controller。

5.执行处理器(Controller,也叫后端控制器)

6.处理器Controller执行完后返回ModelAnView。

7.处理器映射器HandlerAdapter将处理器Controller执行返回的结果ModelAndView返回给 前端控制器DispatcherServlet。

8.前端控制器DispatcherServlet将ModelAnView传给视图解析器ViewResolver。

9.视图解析器ViewResolver解析后返回具体的视图View。

10.前端控制器DispatcherServlet对视图View进行渲染视图(即:将模型数据填充至视图中)

11.前端控制器DispatcherServlet响应用户。

Spring

Spring IOC容器,指的是控制反转,IOC容器负责实例化、定位、 配置应用程序中的对象及建立这些对象间的依赖。交由 Spring来管理这些,实现解耦

MyBatis的架构设计

1.使用传统的MyBatis提供的API 这是传统的传递Statement Id 和查询参数给 SqlSession 对象,使用 SqlSession对象完成和数据库的交互;然后根据Statement Id 和参数来操作数据库,这种方式固然很简单和实用,但是它不符合面向对象语言的概念和面向接口编程的编程习惯

2. 使用Mapper接口 由于面向接口的编程是面向对象的大趋势,MyBatis 为了适应这一趋势,增加了第二种使用MyBatis 支持接口(Interface)调用方式

Mybatis运行原理

1. 加载配置文件

将SQL的配置信息加载成为一个个MappedStatement对象,包括了参数映射配置,执行的SQL语句、 结果映射配置,存储在内存中。

2. SQL解析

当API接口层接收到调用请求时,会接收到传入SQL的ID和传入对象(可以是Map/JavaBean或者基本 数据类型),Mybatis会根据SQL的ID找到对应的MappedStatement, 然后根据传入的参数对象 MappedStatement进行解析,解析后可以得到最终要执行的SQL语句和参数。

3. SQL执行

将最终得到的SQL和参数拿到数据库执行,得到操作数据库的结果。

4. 结果映射

将操作数据库的结果按照映射的配置进行转换,可以转换成HashMap/JavaBean或者基本数据类型, 并将最终的结果返回。

四. SSM框架配置

Web.xml基本信息配置

SpringMVC基本信息配置

数据库基本信息配置

Mybatis配置文件

Spring基本信息配置--数据源

Spring基本信息配置--SessionFactory和Mapper接口扫描器

Spring基本信息配置--Service层Bean配置

Spring基本信息配置--事务管理基础配置

五. SSM框架使用

六. 其他实用Jar包

Jar包仓库地址:https://search.maven.org/classic/或http://mvnrepository.com/

Jar包管理器:Maven或者Gradle(比如:compile group: 'com.baomidou', name: 'mybatis-plus', version: '2.3',会自动的将相关依赖的包文件下载。)

其他实用Jar包

Apache Shiro

Lombok

Druid

Mybatis-plus

eclipse自动提示+自动补全问题

自动提示:

1.首先,我们打开eclipse,选择菜单栏的window选项。

2.点击Windows,选择下拉菜单里面的preferences选项,之后在打开的对话框的左侧找到Java选项。

3.之后点击Java选项,选择展开后的子菜单editor选项,再点击editor选项,选择其展开后的子菜单content assist选项。

4.在右侧的对话框中auto activation 下的子选项auto activation triggers for java后的文本框中输入.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ即可。

XML自动补全:

1.首先,我们打开eclipse,选择菜单栏的window选项。

2.点击Windows,选择下拉菜单里面的preferences选项,之后在打开的对话框的左侧找到XML选项。

3.之后点击XML选项,选择展开后的子菜单editor选项,再点击editor选项,选择其展开后的子菜单content assist选项。

4.在右侧的对话框中auto activation 下的子选项Prompt when these characters are inserted后的文本框中输入<=:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 即可。

相关推荐

Java七大热门技术框架源码解析(25章) 完结

获课》aixuetang.xyz/5699/Hibernate与MyBatis源码级PK:ORM框架的两种哲学在Java持久层框架领域,Hibernate与MyBatis代表了两种截然不同的设计哲学。...

【25章】Java七大热门技术框架源码解析

获课》aixuetang.xyz/5699/Java高级面试:七大框架源码精讲与实战解析在当今Java技术生态中,对主流框架源码的深入理解已成为高级开发者面试的核心竞争力。掌握Spring、MyBat...

饿了么董事长吴泽明兼任CEO,韩鎏分管即时物流中心

饿了么调整组织架构。2月11日,饿了么董事长吴泽明(花名:范禹)通过公司全员信宣布饿了么最新组织调整:即日起,吴泽明将兼任饿了么CEO,韩鎏(花名:昊宸)专注分管即时物流中心,继续向吴泽明汇报。吴泽明...

饿了么100%迁至阿里云,快速扩容可支持1亿人同时点单

来源:环球网6月17日,记者获悉,饿了么已完成100%上云,所有业务系统、数据库设施等均已迁移至阿里云。高峰期,饿了么可在阿里云上快速扩容,可以支持1亿人同时在线点单,这意味着饿了么的服务能力再次全面...

饿了么组织架构调整:董事长吴泽明兼任CEO 韩鎏专注即时物流中心管理

近日,饿了么董事长吴泽明(花名:范禹)通过公司全员信宣布饿了么最新组织调整:即日起,吴泽明将兼任饿了么CEO,韩鎏(花名:昊宸)专注分管即时物流中心,继续向吴泽明汇报。吴泽明在内部信中表示,考虑即时物...

饿了么组织架构调整:董事长吴泽明兼任CEO

Tech星球2月11日消息,据新浪科技报道,今日饿了么董事长吴泽明(花名:范禹)通过公司全员信宣布饿了么最新组织调整:即日起,吴泽明将兼任饿了么CEO,韩鎏(花名:昊宸)专注分管即时物流中心,继续向吴...

饿了么又调整了组织架构,董事长吴泽明兼任CEO

2月11日,饿了么董事长,花名为范禹的吴泽明,通过公司全员信宣布最新组织调整:从即日起,吴泽明将兼任饿了么CEO。公司原CEO,花名为昊宸的韩鎏今后专注分管即时物流中心,继续向吴泽明汇报。在内部信中,...

SpringBoot项目快速开发框架JeecgBoot——Web处理!

Web处理JeecgBoot框架主要用于Web开发领域。下面介绍JeecgBoot在Web开发中的常用功能,如控制器、登录、系统菜单、权限模块的角色管理和用户管理。首先启动后台项目,将其导入IDE...

腾讯即将开源Kuikly:基于Kotlin的纯原生跨端解决方案

IT之家3月4日消息,腾讯日前在端服务网站发布预告,即将开源Kuikly跨端开发框架。预告海报介绍称,Kuikly是基于KotlinKMM技术、客户端开发友好的全新跨端解决方案,可...

Python构建MCP服务器完整教程:5步打造专属AI工具调用系统

模型控制协议(ModelControlProtocol,MCP)是一种专为实现AI代理与工具解耦而设计的通信协议,为AI驱动应用程序的开发提供了高度的灵活性和模块化架构。通过MCP服务器,AI代...

Python3使用diagrams生成架构图(python模块制作)

目录技术背景diagrams的安装基础逻辑关系图组件簇的定义总结概要参考链接技术背景对于一个架构师或者任何一个软件工程师而言,绘制架构图都是一个比较值得学习的技能。这就像我们学习的时候整理的一些Xmi...

Python 失宠!Hugging Face 用 Rust 新写了一个 ML框架,现已低调开源

大数据文摘受权转载自AI前线整理|褚杏娟近期,HuggingFace低调开源了一个重磅ML框架:Candle。Candle一改机器学习惯用Python的做法,而是Rust编写,重...

Python Web 框架(Python Web 框架)

Tornado、Flask、Django三个PythonWeb框架的主要区别和适用场景:特点/框架TornadoFlaskDjango类型异步非阻塞Web服务器和框架轻量级微框架全功能...

构建并发布你的自定义 Python 包(python如何创建自定义模块)

Python让你可以重用代码,并将代码分享给他人以节省时间和精力。所以,当你编写了一些方便的脚本,希望你的同事或其他人也能使用时,接下来该怎么做呢?这篇文章就来解决打包和分发的问题。我们将专注于将你...

Python 应用开发框架 BeeWare 简明实用教程

1.BeeWare简介BeeWare是一个Python框架,用于开发跨平台原生应用。它支持Android、iOS、Windows、macOS和Linux,并提供原生用户体验。2.安装B...

取消回复欢迎 发表评论: