SSM(Spring + SpringMVC + Mybatis)是有Spring和Mybatis 两个开源框架整合而成,SpringMVC 是Spring中的部分内容。常做为数据源较简单的web项目框架。
Spring
- Spring就像是整个项目中的装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
Spring的核心
- (1)IOC(控制反转),既不需要程序员去显式地“new”一个对象,而是让Spring框架帮你完成这一切。直接调用Spring提供的对象就可以。
(2)DI(依赖注入 ),Spring使用javaBean对象的set方法或者带参数的构造方法为
我们在创建所需对象时将其属性自动设置所需要的值得过程,就是依赖注入的思想。
(3)AOP(面向切面编程),在面向对象编程(OOP)思想中,我们将事物从纵向抽成一个个对象。而在面向切面编程中,我们将一个个的对象某些类似的方面横向抽成一个切面,对这些切面进行一些如权限控制,事物管理,记录日志等,公用操作处理的过程就是面向切面编程的思想。AOP的底层是动态代理,如果是接口采用JDK动态代理,如果是类采用CGLIB方式实现动态代理。
SpringMVC
- SpringMVC在项目中拦截用户请求,它的核心Sevlet即DispatchServet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。
Mybatis
- Mybatis是对jdbc的封装,它让数据库底层操作变得透明。Mybatis的操作都是围绕一个SqlSessionFactory实例展开的。Mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了,每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过SqlSessionFactory拿到一个SqlSession,在执行命令。