一、Mybatis 核心功能
平时我们都用 JDBC 访问数据库,除了需要自己写 SQL 之外,还必须手动加载驱动、创建连接、创建 statement 等一系列操作,比较麻烦。 不仅如此,访问不同的表,还会写很多雷同的代码,开发比较繁琐。
那么用了 Mybatis 之后,只需要自己提供 SQL 语句,其他的工作,诸如创建连接、创建 statement 等相关处理等等都交给 Mybatis 框架去做了,我们只需要关注在增删改查等操作层面上,大大地简化了开发。
二、Spring 核心功能
IOC:IOC 是控制反转的意思,用的是工厂模式。简单来说就是将创建对象的权利交给 Spring 框架,我们不需要通过 new 的方式创建对象,而是由 Spring 自动生成,通过 java 的反射机制。
DI:程序运行过程中,如果需要调用另一个对象协助时,不需要在代码中创建对象,而是依赖于外部的注入。
AOP:面向切面编程,实现功能统一维护的一种技术,它将业务逻辑的各个部分进行隔离(比如安全、日志、事务等),封装成一个切面,然后注入到目标对象(具体业务逻辑)中去,在不修改源码的基础上,对已有方法进行增强。
三、SpringMVC 核心功能
在整个执行流程中,DispatcherServlet 起到分发、响应的作用,是整个流程的中心,而 springMvc 的核心也就在这里。
(1)客户端将请求发送给前端控制器 DispatcherServlet
(2)前端控制器收到请求后,将请求发送给处理器映射器 HandlerMapping,处理器映射器根据路径找到方法的执行链,返回给前端控制器 DispatcherServlet
(3)前端控制器调用处理器适配器 HandlerAdapter,处理器适配器 HandlerAdapter 根据方法类型找到对应的处理器
(4)处理器执行方法,将结果 ModelAndView 返回给前端控制器(先到 HandlerAdapter,再由 HandlerAdapter 提交到前端控制器)
(5)前端控制器将结果 ModelAndView 发送给视图解析器 ViewResolver,视图解析器找到视图文件位置并进行解析
(6)视图解析器 ViewResolver 解析完成后返回具体的视图 View,然后前端控制器 DispatcherServlet 对 View 进行渲染视图
(7)最后前端控制器 DispatcherServlet 将结果显示到客户端