singleStandard 2019-01-14 17:24 采纳率: 100%
浏览 649
已结题

关于spring整合mybatis的bean标签概念问题

图片说明

有几个问题想问下:

1. 为什么扫描实体类包entity要在sqlSessionFactory的bean标签里?
扫描entity包下的实体类不应该在最外层写各种bean吗?

<property name = "typeAliasesPackage"  value = "com.imooc.entity" />

2. 为什么mapper.xml要在sqlSessionFactory加载呢?这个我是知道要这么写,但是不太明白原因。

3. 我之前扫描dao接口包,都是以dao接口的类名称为bean的id,直接写在最外层。我那种写法和图片中的写法有什么区别吗?

谢谢。

  • 写回答

2条回答

  • ZTzhubajie 2019-01-14 18:00
    关注

    1.看SqlSessionFactoryBean的源码可以知道typeHandlersPackage是这个类的一个成员变量,配置的是entity的包路径,
    spring启动时,会装载这个包路径下的所有实体,效果等同于给每个类加上注解让spring管理,也等同于在spring ctx.xml文件中配置各类bean
    2方便通过sqlSessionFactory来读取mapper文件,spring启动时会读取这些mapper文件
    3.底层没啥区别,只是按包扫描,当DAO的文件多时,不需要挨个bean配置,优势就体现出来了

    推荐看下 https://blog.csdn.net/qq_38094271/article/details/80308404

    再看看源码,就容易理解了

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器