Mybatis 映射配置文件中 mappers 标签的作用
疑问:
最近学习springMVC、spring和mybatis 的整合,
很好奇为什么明明已经在 dao 下的 ItemDao 中使用注解 @Repository
,声明了该类,也就是将其加入了容器,
为什么在 applicationContext.xml
还要将其加入容器:
解释:
学着学着把概念弄混了,
注解 @Repository
是spring 中 IOC 的内容,将 itemDao 加入容器不假,这里主要是解决的程序的 耦合问题,是为了在 service 中对其直接进行调用:
而在 applicationContext.xml
中的 MapperScannerConfigurer 对应的是未将 mybatis 和 spring 整合前 mybatis 的 SqlMapConfig.xml
它的作用是将相关配置配置好后,告诉 mybatis 到哪里去找定义好的 SQL 映射语句,为所有的接口生成代理对象,好用代理对象执行具体的 SQL 方法。
类似于这里传入的 UserDao.class
参数: