但是现在要求不能在impl中直接注入mapper
页面 -> controller -> service -> manager -> mapper -> 数据库
感谢你的建议,我感觉你的建议应该是我想要的,我感觉这样可以,我试试,感谢!
@感情是渐变色的:
1.mapper层只负责和数据库通信(当然也只能和数据库通信)
2.manager层中调用mapper实现一个个独立的功能,也可以理解为是业务逻辑的碎片,在service中组装这些碎片(比如说:查询,新增,修改)
3.service层调用manager实现业务逻辑(比如说:先调用查询,再调用修改,完成数据更新的业务逻辑)
4.事务放在service这一层,因为service是业务逻辑
5.controller调用service。。。
因为service层是业务层,事务就放在这一层,如果没有manager层,在业务逻辑复杂的情况下,极有可能导致事务嵌套以及service方法自调用问题,service方法自调用又会导致事务失效
@飒沓流星: 感谢您的指导,我明白什么意思了,谢谢!
@感情是渐变色的: 客气,啰嗦了点😌
@飒沓流星: 您讲的很详细,收获很大,十分感谢!
@感情是渐变色的: 客气客气,共同学习😃
没见过这么奇怪的需求。
注入肯定是不靠谱了,这样可以吗?
service中
XxxMapper 123Mapper = xxxUtil.getBean(XxxMapper .class);
实现中直接使用123Mapper 调用
我也很郁闷,我以前都是在实现类中注入mapper的,现在的要求是实现类是对外提供服务的,所以实现类中不可以直接注入mapper,我也很无奈,我在网上看到了有种办法是直接在service注入mapper,就跟在实现类中注入一样,我尝试一下吧。
感谢你的建议!
你的 impl 和 service 不是同一个东西?
确实是一个东西,我明白你的意思