死循环

private MapClassService ms = Aop.get(MapClassService.class);

这样使用,会造成死循环吗???现在项目启动不起来了,求解

评论区

JFinal

2020-07-22 20:17

如果 MapClassService 内部本身有死循环就会死循环,例如你的 MapClassService 像下面这样来写就会有死循环:
public class MapClassService {
MapClassService me = new MapClassService();
...
}

上面的例子是极端情况,另一种情况是 A 里头 new B , B 里头 new A , 造成死循环

这种事情肯定是与 jfinal 无关的,jfinal 的 Aop.get(...) 支持循环注入,也就是 A 里头可以注入 B , B 里头可以注入 A, A 里头注入自己也是可以的,例如:

public class MapClassService {
@Inject
MapClassService me;
......
}

注意,这里说的是注入支持循环依赖,而最前面那个例子是 new 出对象,不支持循环依赖,这个是 java 语言决定的,jfinal 不管这事

热门反馈

扫码入社