mybatis动态代理剖析
2017-08-19 11:43
134 查看
在企业开发中,我们的web项目会根据项目的业务要求及规模进行选择理想的框架进行组合,今天我浅谈一下持久层的一个优秀的框架-mybatis
我们都知道,mybatis是一个很灵活的持久层框架,在开发中我们经常用到动态代理模式进行持久层的处理,那么其原理是什么呢?
1.首先我们搭建好mybatis的运行环境,配置我们的数据源等信息,然后编写我们的实体类,然后编写我们的动态代理接口,比如实体类:user,mapper配置userMapper.xml,接口名userMapper如下
编写我们的测试类:
通过断点调试得知运行原理如下图:
有上图执行过程可知:加载配置文件--》获取sqlsession接口--》调用sqlsession默认实现--》通过config对象的getMapper()方法获取配置文件中配置接口信息,--》通过MapperRegistry对象绑定代理对象从而灵活的调用我们的业务方法。
我们都知道,mybatis是一个很灵活的持久层框架,在开发中我们经常用到动态代理模式进行持久层的处理,那么其原理是什么呢?
1.首先我们搭建好mybatis的运行环境,配置我们的数据源等信息,然后编写我们的实体类,然后编写我们的动态代理接口,比如实体类:user,mapper配置userMapper.xml,接口名userMapper如下
编写我们的测试类:
通过断点调试得知运行原理如下图:
有上图执行过程可知:加载配置文件--》获取sqlsession接口--》调用sqlsession默认实现--》通过config对象的getMapper()方法获取配置文件中配置接口信息,--》通过MapperRegistry对象绑定代理对象从而灵活的调用我们的业务方法。
相关文章推荐
- Mybatis学习笔记(4)--MyBatis的Mapper动态代理方式
- mybatis+spring源码解析(动态代理 spring初始化)
- Mybatis3源码分析(21)-Mapper实现-动态代理
- DynamicProxy(动态代理)技术剖析(1)
- 深入剖析JDK动态代理源码实现
- MyBATIS插件原理第一篇——技术基础(反射和JDK动态代理)(转)
- Java反射机制剖析(三)-简单谈谈动态代理
- 由浅入深分析mybatis通过动态代理实现拦截器(插件)的原理
- Java反射机制剖析(四)-深度剖析动态代理原理及总结
- DynamicProxy(动态代理)技术剖析(2)
- 动态代理剖析
- Mybatis框架三:DAO层开发、Mapper动态代理开发
- Java的动态代理Proxy以及Mybatis的原理
- Java深入浅出系列(四)——深入剖析动态代理--从静态代理到动态代理的演化
- 深度剖析JDK动态代理机制
- Java反射机制剖析(四)-深度剖析动态代理原理及总结
- Mybatis中Mapper动态代理的实现原理
- 深度剖析JDK动态代理机制
- java动态代理原理剖析
- 【转】由浅入深分析mybatis通过动态代理实现拦截器(插件)的原理