spring之整合mybatis【TL spring 12】
UserMapper是代理对象成为一个bean放入spring
factorybean implement FactoryBean usermapper代理对象
1、思路ZhouyuFactoryBean构造方法传入要构造的接口类,使用beanDefinition创建
beandefinition.setBeanClass(ZhouyuFactoryBean.class);
beandefinition.getConstructorArgumentvalues().addGenericArgumentValue(OrderMapper.class)
context.registerBeanDefinition("orderMapper",beanDefinition)
把mybatis代理对象成为了一个bean
2、实现ImportBeanDefinitionRegistrar接口
3、继承ClassPathBeanDefinitionScanner类
bytype会自动找到beandefinition里面的set方法
Mapper来自sqlsessionTemplate.getMapper() mybatis代理对象
userMapper.selectById() ---> sqlSessionTemplate.selectOne()---->sqlsessionProxy.selectOne()---->DefaultSqlSession.selectOne() threadLocal
一级缓存失效
SpringManagedTransaction
