1.mybatis
mybatis应用程序通过SqlSessionFactoryBuilder从mybatis-config.xml配置文件来构建SqlSessionFactory;然后,SqlSessionFactory的实例直接开启一个SqlSession,再通过SqlSession实例获得Mapper对象并运行Mapper映射的SQL语句,完成对数据库的CRUD和事务提交,之后关闭SqlSession。
2.spring
Spring内部最核心的就是IOC了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建、调用对象,Spring就是在运行时,跟xml Spring的配置文件来动态的创建对象和调用对象里的方法的 。
Spring还有一个核心就是AOP面向切面编程,可以为某一类对象进行监督和控制(也就是在调用这类对象的具体方法的前后去调用你指定的模块)从而达到对一个模块扩充的功能。这些都是通过配置类达到的。
Spring目地就是让对象与对象(模块与模块)之间的关系没有通过代码来关联,都是通过配置类说明管理的。
3.springMVC
- 用户发起请求到前端控制器(DispatcherServlet)
- 前端控制器请求处理器映射器(HandlerMappering)去查找处理器(Handle):通过xml配置或者注解进行查找
- 找到以后处理器映射器(HandlerMappering)像前端控制器返回执行链(HandlerExecutionChain)
- 前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)去执行处理器(Handler)
- 处理器适配器去执行Handler
- Handler执行完给处理器适配器返回ModelAndView
- 处理器适配器向前端控制器返回ModelAndView
- 前端控制器请求视图解析器(ViewResolver)去进行视图解析
- 视图解析器像前端控制器返回View
- 前端控制器对视图进行渲染
- 前端控制器向用户响应结果
springMVC简化版工作流程
- 客户端发送请求到DispacherServlet(分发器)
- 由DispacherServlet控制器查询HanderMapping,找到处理请求的Controller
- Controller调用业务逻辑处理后,返回ModelAndView
- DispacherSerclet查询视图解析器,找到ModelAndView指定的视图
- 视图负责将结果显示到客户端
4.ssm
5.springboot(个人理解)
- 每个springboot项目都有一个父依赖,里面帮我们引入了大量的依赖。
- pom中可以引入启动器,每个启动器都相当于一个个场景,比如spring-boot-starter-web,就会帮我们引入开发过程中的所需要的web模块的jar包。
- 自动装配原理。(另一篇日记中)
以上内容包含自己的理解和在其他地方搜集的资料,由于出处太多,不一一列举了。