啥是SSM

什么是SSM框架

什么是ssm框架,是spring+springMVC+Mybatis的缩写,这个是继SSH之后,目前比较主流的javaEE企业级框架,适用于搭建各种大型的企业级应用系统。

Mybatis框架

mybatis的前世今生
Mybati本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为Mybatis。2013年迁移到到了githup。
为什么选择Mybatsi而不选择JDBC
1、Mybatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行了封装,使开发者只需要注重SQL本身,而不需要花费精力去处理例如注册驱动,创建connection、创建Statement、手动设置参数、结果集检验等JDBC繁杂的操作。
2、Mybatis通过XM和注解的方式,将要执行的各种Statement(statement、preparedStatement)配置起来,通过java对象和statement中的sql进行映射生成最终执行的SQL语句,最后由Mybatis框架执行sql并将结果集封装成java对象并返回。

总之,mybatsi对JDBC访问数据库的过程进行了封装,简化了JDBC的代码,解决JDBC将结果集封装为java对象的麻烦。
在这里插入图片描述mybatis的架构图
(1)SqlMapConfig.xml是mybatis的核心配置文件,通过其中的配置可以生成SqlSessionFactory,也就是,也就是SqlSession工厂
(2)基于SqlSessionFactory可以生成sqlSession对象
(3)sqlSession是一个既可以发送SQL去执行,并返回结果,类似JDBC中的Connection对象,也是mybatis中至关重要的一个对象。
(4)Executor是SqlSession底层的对象,用于执行SQL语句
(5)MapperStatement对象也是SqlSession底层的对象,用于接收输入映射(SQL语句中的参数),以及做出映射(即将sql查询的结果映射成相应的结果)。

Spring框架

什么是Spring?

spring是分层的JavaSE和JavaEE应用于全栈的轻量级开源框架,以IOC(控制反转)和AOP(面向切面编程)为核心,提供了表现层和SpringMVC和持久层Spring
JDBC以及业务层事务管理等众多模块的企业级应用技术,还能整合开源世界中众多著名的第三方框架和类库逐渐成为使用最多的JavaEE企业应用开源框架。
SHH(struts2 spring hibernate)
SSM(springMVC spring mybatis)
Spring的本质是管理软件中的对象,即创建对象维护对象之间的关系
Spring的工作原理
IOC(控制反转):概念:控制权由对象本身转向容器;由容器根据配置文件去创建实例并创建各个实例之间的依赖关系,核心:bean工厂;在Spring中,bean工厂创建的各个实例称作bean(也就是说容器根据配置文件利用反射的技术创建对象,创建的对象,自己的支配权力不再属于自己,属于容器)
spring(singleton)的单实例和多实例(prototype)
他们都是写在applicationContext.xml中bean标签的scope属性。
单实例和多实例我是这样的理解的(如有问题还望大神指点,迷津):单实例就是不管以后这个对象以后使用多少次,他都只创建一次,没得必要发一次请求就要创建一次对象,这个我们是知道的,频繁的创建对象不仅浪费内存资源,而且CUP的压力也是很大的,利用这样的可以节约大量的cpu和内存资源。(就像我们乘坐公交车是一样的原理,我们可以大家使用同一个交通工具,这样可以解决交通拥堵)
多例:恰恰和单例相反,他是每使用一次,就要创建一次对象,虽然说这样的方式不好,但是这样的方式可以解决并发问题。就像我们的出行,我们使用单例相当于我们坐公交车,但是要保证我们要去的路线是一致的,一辆公家车是不可能同时到达两个地方的(并发问题),这个时候我们各自使用私家车(多实例)就可以解决这样的问题,这样就可以并发,达到我们的目的。反正各有各的好处,看业务使用。
SpringDI
DI:依赖注入
所谓依赖注入,就是说我们利用IOC创建对象同时或之后我们怎么去去给这个对象的属性赋值。
有set注入个构造方法注入两种方式注入。

springMVC框架

首先我们先来了解一下什么是mvc?
mvc是一种设计模式
那什么又是设计模式呢

原来呀,设计模式是一套反复使用、多人知晓的、经过分类的、代码设计经验的总结。
那使用设计模式的目的是什么:为了代码的可重用性、让代码更容易被他人理解、保证代码的可靠性。
设计模式是使代码编写真正的工程化;
设计模式是软件工程的基石脉络,如同大厦的结构一样。
设计模式就是一种模子,经过多年实践锤炼形成一套行之有效的完成某个特定业务的步骤和方式。

MVC设计模式

MVC设计模式是一种通用的软件编程思想
在MVC设计模式中,任何软件都可以分成三部分组合成
(1)控制程序流转的控制器(Controller)
(2)封装数据处理的模型(Model)
(3)负责展现数据的视图(view)

并且在MVC设计思想中要求一个符合MVC设计思想的软件应该保证上面的这三部分相互独立,互不干扰,每个部分只负责自己擅长的部分。

如果某一个模块发生变化,应该尽量做到不影响其他两个模块。这样做的好处是,软件的结构会更加的清晰,可读性强。有利于后期的扩展与维护,并且代码可以实现复用。

初识SpringMVC

在认识SpringMVC之前我们首先得认识servlet,认识servlet之后你会发现

servlet的缺点

1、通常情况下、一个servlet类只负责处理一个请求,若项目中有成百上千个请求需要处理,就需要有成百上千个Servlet类,这样会使得项目中Servlet类的个数暴增;
2、在servlet3.0版本之前,每一个Servlet都需要在web.xml文件中至少做八行配置信息,配置内容多且繁琐。当Servlet特别多时,web的配置太多,不利于团队开发;
3、当通过客户端提交参数到服务器,通过servlet进行接收时,无论数据本身是什么格式,在Servlet中一律按照字符串进行接收,后期需要进行类型转化,复杂类型还需要特殊处理,特别麻烦!
4、servlet具有容器依赖性,必须放在服务器中运行,不利于单元测试;
。。。

SpringMVC简介

springmvc是spring框架的一个模块,spring和springmvc无需中间整合层整合
SpringMVC是一个基于MVC的web框架
SpringMVC是Spring家族的一员,Spring是将现在开发中流行的组件进行组合而成的一个框架!
它用在基于MVC的表现层的开发
在这里插入图片描述SpringMVC的工作流程图
1、用户发送请求至前端控制器DispatcherServlet
2、DisPatcherServlet收到请求调用HandlerMapping处理映射器。
3、处理映射器根据请求url找到具体的处理器,生成处理器对象以及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
4、DispatcherServlet通过HandlerAdapter处理适配器调用处理器
5、执行处理器(Controller,也叫后端控制器)
6、Controller执行完成以后返回ModelAndView
7、HandlerAdapter将Controller执行结果ModelAndView返回给DispatcherServlet
8、DispatcherServlet将ModerAndView传给viewReslover视图解析器
9、viewResolver解析后返回具体View
10、DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。
11、DispatcherServlet响应用户。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值