【发布时间】:2026-02-13 23:55:01
【问题描述】:
我的设置如下 -
public class ParentModel {
private StatusModel sm;
}
StatusModel 类如下 -
public class StatusModel {
private ParentModel pm;
public void setParentModel(ParentModel pm) {
this.pm = pm;
}
}
StatusModel 内的pm 是ParentModel 实例的引用,StatusModel 所依赖的实例。
在dao 内部-我正在注入ParentModel,如下所示
@Inject
private Instance<ParentModel> factory;
但是,使用下面的单独方法调用将ParentModel 引用设置为StatusModel -
pm = factory.get();
pm.setters...
pm.getSm().setParentModel(pm);//<----- is it possible to avoid this?
我们可以在不调用方法的情况下获得sm 内部的pm 引用吗?
【问题讨论】:
-
这是一个循环依赖,DI容器没有明确的方法来正确确定创建对象的顺序。横向建议:不要;相反,将
StatusModel需要的功能提取到一个新类中,您可以将其注入到它和ParentModel中。
标签: java cdi weld jboss-weld weld2