wd0308
2015-08-01 05:04
采纳率: 100%
浏览 7.2k
已采纳

spring mvc整合mybatis 为什么不把mapper接口类直接注入Controller呢

spring mvc整合mybatis 为什么不把mapper接口类直接注入Controller呢?

正常开发如下:
1、mapper.xml,mapper接口类,service接口,serviceImpl实现类,Controller控制类
2、serviceImpl实现类注入mapper接口类,在Controller控制类中注入service接口

问题1、为什么不直接把mapper接口类注入到Controller控制类中应用呢?

问题2:或者设计一个公用执行方法类,该类实现applicationContextAware接口,然后直接在spring容器中获取已经实例化的mapper接口,通过反射原理执行该接口的某个指定方法。最后在controller类中的方法里直接调用该类执行由前端传进来的方法名

请问各位大神这两种情况有什么影响呢?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • RelievedAbility 2015-08-01 07:45
    已采纳

    为了业务逻辑分离,便于后期维护,不然Controller里面就会写很多逻辑的东西太乱,也不便于后期维护

    点赞 打赏 评论
  • Evankaka 2015-08-01 10:09

    这两个方法肯定都是可以实现功能的。但是你想。你这么写不都把代码都写在Controller了?你想想,我们在serviceImpl里执行增删改查时,不 是一般还要
    对数据进行各种检验么?或者还有对数据进行各种转换。你如果不这么写,都写在Controller,那你的Controller的代码那得要多少啊?而且写起来肯定也
    很乱。

    点赞 打赏 评论
  • nrxsh 2020-10-13 14:00
    点赞 打赏 评论

相关推荐 更多相似问题