Q1:在用mybatis-plus发现问题,我两个service这里就用A,B代替,这两个都继承IService,然后都有各自实现类,最后在同一个Controller中引用,会出现循环依赖吗?
关系如图
Q2:还有为什么在实体类中指定了id为雪花算法,然后在手写xml中写sql时却说id不能插入为null,这是因为雪花算法只能提供给其自带方法使用吗?要在手写xml中使用,如何使用呢
Q1:在用mybatis-plus发现问题,我两个service这里就用A,B代替,这两个都继承IService,然后都有各自实现类,最后在同一个Controller中引用,会出现循环依赖吗?
关系如图
Q2:还有为什么在实体类中指定了id为雪花算法,然后在手写xml中写sql时却说id不能插入为null,这是因为雪花算法只能提供给其自带方法使用吗?要在手写xml中使用,如何使用呢
如果A和B都继承自IService,并且它们各自有不同的实现类,那么在同一个Controller中引用A和B不会出现循环依赖问题。
循环依赖问题通常发生在两个或多个组件相互依赖的情况下。如果服务A依赖B,而服务B又依赖A,那么就会产生循环依赖问题,编译都通不过的
如果你的情况是A和B分别有自己独立的实现类,那么它们之间是不存在直接依赖关系的,因此不会出现循环依赖问题。不过,如果A的实现类依赖了B的实现类,或者B的实现类依赖了A的实现类,那么就有可能出现循环依赖问题,需要注意。