mybatis--整合spring
2019-05-06 09:40:02 75 举报
mybatis整合spring
作者其他创作
大纲/内容
FactoryBean
getObject
MybatisAutoConfiguration#sqlSessionTemplate
配置--类似mybatis-config.xml
SqlSessionDaoSupport
getSqlSession
xmlMapperBuilder.parse()
SqlSessionTemplate
final SqlSessionFactoryfinal SqlSession //代理类final ExecutorType
SqlSessionInterceptor{}//内部类
利用配置的属性
build
每个Mapper注册到Spring容器中都是MapperFactoryBean的
创建Configuration
postProcessBeanDefinitionRegistry
DefaultSqlSessionFactory
SqlSessionInterceptor
反射执行具体的方法
ClassPathBeanDefinitionScanner#scan
调用mybatis的逻辑处理Mapper
构造时对sqlSessionProxy做了java的代理
ClassPathMapperScanner#doScan
SqlSessionFactoryBean
getSqlSession().getMapper(this.mapperInterface)
MapperFactoryBean
getObject//具体获取Mapper
代理
实现了BeanDefinitionRegistryPostProcessor
invoke
setBeanClass(MapperFactoryBean.class)设置Bean的属性
font color=\"#ff0000\
由于DefaultSqlSessionFactory不是线程安全的,所以Spring对其做了包装SqlSessionTemplate
buildSqlSessionFactory
afterPropertiesSet
MapperScannerConfigurer
getSqlSession() -->sqlSessionTemplategetMapper就是和mybatis中的逻辑一致了
processBeanDefinitions
MybatisAutoConfiguration#sqlSessionFactory
0 条评论
下一页