Spring白板源码整理
[原创]个人理解,请批判接受,有误请指正。转载请注明出处: https://heyfl.gitee.io/Spring/Spring-whiteboard.html
这本经常出错的辣鸡书的读后整理:《Spring源码深度解析》
仅记录,日后有空加描述,嗯,有空的话,有空再说。。。
SpringAOP源码
Spring事务源码
SpringMVC
Spring DispatcherServlet源码
Spring+Mybatis整合原理源码分析
Spring整合MyBatis的原理是将MyBatis的SqlSessionFactory和Spring的IoC容器进行集成,从而在Spring容器中管理SqlSessionFactory对象,进而管理MyBatis的SqlSession对象
在Spring整合MyBatis的过程中,主要用到了以下几个FactoryBean:
- SqlSessionFactoryBean:
它是一个FactoryBean
,用于创建SqlSessionFactory对象,并将其纳入Spring容器进行管理。它通过配置DataSource等参数,将MyBatis的配置文件和映射文件加载进来,最终生成SqlSessionFactory对象 - MapperFactoryBean:
它也是一个FactoryBean
,用于创建Mapper接口的代理对象,并将其纳入Spring容器进行管理。它会自动扫描指定的包路径,找到所有的Mapper接口,并为其创建代理对象,实现了Mapper接口的自动注入和管理 - SqlSessionTemplate:
他是一个Spring提供的工具类
,用于简化SqlSession的使用。它包装了SqlSession对象
,提供了方便的方法,如selectOne、selectList等,从而减少了代码的冗余和复杂度
同时,它还管理了SqlSession的生命周期,确保在需要时打开和关闭SqlSession
这些FactoryBean的作用是将MyBatis的核心对象SqlSessionFactory和Mapper接口纳入Spring容器进行管理,并提供了简化SqlSession使用的工具类SqlSessionTemplate,从而方便了应用开发