SSM的知识整理
基础概念
SSM 是Spring框架、Spring MVC框架和MyBatis框架的简称(首字母)
1. Mybatis
Mybatis是一个数据持久层框架。数据持久化是将内存中的数据模型装换成存储模型,以及将存储模型转化成数据模型的统称。简单来说,就是操作数据的,将数据从内存中拿出来保存到一个地方,以及从这个地方拿出来,通常我们这个地方是数据库。
在实际的开发中,程序员操作的是数据,而存储到时候,使用的是关系型数据库。在这两者之间建立起对应关系的技术我们成为 对象/关系映射(Object/Relation Mapping, ORM), Mybatis就是一种半自动化的ORM实现。
1.1 Mybatis 所使用的 jar 包
我写这篇文章的目的就是整理一下 jar 包,之前使用的时候感觉贼乱,不知道是干啥的,所以说想整理一下。
mybatis.jar这个就不多说了(看名字也差不多了解了),这个就好比汽车的车轮子,没它你还想跑,做梦去吧。
log4j.jar 这个是负责日志输出的 jar 文件
mysql - connector -java.jar 这个是MySQL的驱动 jar 包,就是连接数据库的。
2. Spring 框架(不是春天框架)
Spring是一个开源的控制反转和面向切面的容器框架,目的就是简化企业开发(这又是一个比较官方的概念,难懂!)。
控制反转:
在传统的程序设计过程中,当一个对象(调用者)需要另一个对象(被调用者)的协助时,通常是由调用者来创建被调用者的实例——我饿了,我自己动手做饭,填饱肚子。
控制反转(也称依赖注入)人家是这样搞的——我饿了,我给管家说,我要吃烤羊排,管家就给你弄上来了。就是说调用者不需要自己去创建,直接给Spring说,我需要一个实例,人家给你创建。
面向切面编程:
简单来说,假如你是一个卖肉夹馍的,你突然发现你做成真正肉夹馍(两片肉加一个馍),为了避免浪费,你这时候你想:诶,我可以再在外面加俩馍不就可以了吗!
面向切面编程就是在不改变原有程序的基础上为代码添加新的功能,一个方法fun(),我们可以创建一个fun2(),让fun()在fun2()中,我们对fun2()添加新的内容,对外使用的时候我们使用fun2()来调用fun(),这样给既没改变原有程序,又为代码添加了新的功能。
2.1 jar 包
这五个是必须的,如果想要观察过程,可以添加log4j.jar 这个jar包
这三个是在前5个上的基础上进行选择,如果你想使用AOP(面向切面编程),这三个就需要进行添加。
3. Mybatis 与 Spring 进行整合
除了假如Spring、Mybatis所支持的jar包之外还需要添加额外的jar包。
整合相关的jar包,看名称。
Spring 数据源支持和事物支持
连接池功能,具体的数据源实现技术
4. Spring MVC
是Spring提供的一个基于MVC设计模式的优秀Web开发框架,本质上相当于Servlet。
除了支持Spring的jar包之外,还需要以下jar包:
前者是web应用开发时使用Spring框架的核心类。
后者是Spring MVC 相关的所有类,包含框架的Servlets,Web MVC框架,以及对控制器和视图的支持。
这几个是 JSR 303 数据校验的,比如说用户名不能为空啦,密码长度为6 ~ 10位啦等等。
实现文件上传的
5. SSM框架整合
以上所有jar包,再加上以下几个
EL和JSTL表达式使用
实现json数据转换的
提供一些基础的、通用的操作和处理
6. 最后
一共27个jar包,如果有错误的地方麻烦提出来,我会尽快更正,谢谢。