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