Spring白板源码整理

[原创]个人理解,请批判接受,有误请指正。转载请注明出处: https://heyfl.gitee.io/Spring/Spring-whiteboard.html


这本经常出错的辣鸡书的读后整理:《Spring源码深度解析》
仅记录,日后有空加描述,嗯,有空的话,有空再说。。。

SpringAOP源码

img.png

Spring事务源码

img_2.png

SpringMVC

img_3.png

Spring DispatcherServlet源码

img_4.png

Spring+Mybatis整合原理源码分析

Spring整合MyBatis的原理是将MyBatis的SqlSessionFactory和Spring的IoC容器进行集成,从而在Spring容器中管理SqlSessionFactory对象,进而管理MyBatis的SqlSession对象

在Spring整合MyBatis的过程中,主要用到了以下几个FactoryBean:

  1. SqlSessionFactoryBean:
    它是一个FactoryBean,用于创建SqlSessionFactory对象,并将其纳入Spring容器进行管理。它通过配置DataSource等参数,将MyBatis的配置文件和映射文件加载进来,最终生成SqlSessionFactory对象
  2. MapperFactoryBean:
    它也是一个FactoryBean,用于创建Mapper接口的代理对象,并将其纳入Spring容器进行管理。它会自动扫描指定的包路径,找到所有的Mapper接口,并为其创建代理对象,实现了Mapper接口的自动注入和管理
  3. SqlSessionTemplate:
    他是一个Spring提供的工具类,用于简化SqlSession的使用。它包装了SqlSession对象,提供了方便的方法,如selectOne、selectList等,从而减少了代码的冗余和复杂度
    同时,它还管理了SqlSession的生命周期,确保在需要时打开和关闭SqlSession

这些FactoryBean的作用是将MyBatis的核心对象SqlSessionFactory和Mapper接口纳入Spring容器进行管理,并提供了简化SqlSession使用的工具类SqlSessionTemplate,从而方便了应用开发

img_1.png

作者

神奇宝贝大师

发布于

2019-05-22

更新于

2023-04-05

许可协议

评论