spring boot启动读取并初始化mybatis mapper
·
在Configuration类上我们一般会加上
@MapperScan(basePackages = "com.hunqingplatform.hunqing.dao.mapper1.ext",sqlSessionFactoryRef="sqlSessionFactory")这样的注解,点进该注解你会看到该注解又被@Import注解给注解了
@Import注解是往spring容器中导入一些bean实例的,作用和在类上加上@Componet注解差不多,这里向spring容器里加入了
MapperScannerRegistrar类。从名字就可以猜得到它是向spring里扫描注册mapper的。点进该类查看源码。发现该类实现了ImportBeanDefinitionRegistrar接口,看jdk doc说该接口的作用是注册额外的BeanDefinition在处理Configuration类的时候。在实现方法registerBeanDefinitions体内,new了一个ClassPathMapperScanner类用来扫描读取mapper接口,而ClassPathMapperScanner又继承ClassPathBeanDefinitionScanner实际是委托它的父类来扫描获取mapper的BeanDefinition。到这mapper的BeanDefiniton加载就暂时告一段落。

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)