(慢慢修改更新,后续结合文章SSM整合来食用,效果更加)
一、作用
Spring:实现业务对象管理;
- IOC
- DI
- AOP
SpringMVC:负责请求转发和视图管理;
- 控制层的使用(扫描)
- json
- 放行静态资源
- 拦截器
- 前端控制器
- 多视图控制
Mybatis:数据对象持久化引擎,处理与数据库增删改查相关的操作;
- 全局配置文件
- Mybatis配置文件
- 动态sql
- 一对多,多对一等关系
二、聊聊Spring
Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架;
IOC:控制反转,原本创建对象是程序主动new一个对象,如今通过IOC,对象的依赖创建交给容器去创建,主动权交给容器;
DI:依赖注入,往bean中注入依赖关系。应用程序需要IOC容器提供对象需要的外部资源,例如注入某个资源、常量数据、对象等;
AOP:面向切面编程,在不改变代码原本业务逻辑的条件上,进行动态的增加日志、异常处理等操作;
通俗的理解bean的加载过程:请求一个bean,工厂通过封装好的操作区读取xml文件,寻找到对应的类,通过反射拿到该类的细节;
三、聊聊SpringMVC
MVC:
模型 —— 视图 —— 控制器;
业务逻辑和业务数据 -- 用户界面 -- 处理用户交互;
SpringMVC流程:
1.客户端发送请求到DispacherServlet(分发器)
2.由DispacherServlet控制器查询HanderMapping,找到处理请求的Controller
3.Controller调用业务逻辑处理后,返回ModelAndView
4.DispacherSerclet查询视图解析器,找到ModelAndView指定的视图
5.视图负责将结果显示到客户端
四、Mybatis
mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。
mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。
在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。