项目中遇到的Inject注解依赖注入问题

在Controller和Service同时引入了另一个service,报循环引用错误,该怎么解决。

23.png24.png25.png

评论区

steven_lhcb_9527

2021-01-06 11:27

我理解这个意思:Aservice里面注入了BService,Controller里面注入了Bservice和AService。这样就出现了重复注入的问题

jfinal爱好者22

2021-01-06 11:29

@steven_lhcb_9527 是的,按道理来说,不算循环依赖吧。怎么会报错呢

steven_lhcb_9527

2021-01-06 11:34

@jfinal爱好者22 按理说这样出问题的,如果两次注入的BService对象的实例不一样的话,Controller可能不知道该注入哪一个

JFinal

2021-01-06 11:44

你没有在用 jfinal , 异常中的提示全是 net .harsor 这种东东,我估计你用的 @Inject 也不是 jfinal 中的 @Inject

jfinal 的 @Inject 是支持循环依赖的,非常完美的设计

steven_lhcb_9527

2021-01-06 11:52

感觉这项目这样写就很乱啊

jfinal爱好者22

2021-01-06 14:54

@JFinal 是的,不是jfinal的Inject注解,用的 net.hasor.core中的Inject注解。

JFinal

2021-01-06 15:55

@jfinal爱好者22 那为什么要发布这个贴子呢? 很明显没人知道这是针对什么在问题,更谈不上回答了

既浪费了你自己的时间,也浪费了别人的时间

jfinal爱好者22

2021-01-06 16:04

@JFinal 因为这个项目使用jfinal框架开发的,只是注入的时候不是使用jfinal注入的。也可能有人知道了给予帮助呢。我又仔细检查了一下,是循环依赖的问题,可能是 net.hasor.cor这个容器不支持这么做。

JFinal

2021-01-06 16:07

@jfinal爱好者22 原来如此,可以理解

不过,jfinal 有自己的注入,支持无限级的注入,支持循环依赖,既然用了 jfinal , 那么都用 jfinal 的会比较稳妥

jfinal爱好者22

2021-01-06 16:29