谷歌Guice。我需要将correspoding父对象注入包含的对象

时间:2011-04-29 07:27:34

标签: guice

谢谢我的英语。我有下一个问题。我有三个实体: DomainManager,域和节点。 DomainManager是能够使用的单例 创建域对象列表。每个域都可以创建节点列表 对象:

DomainManager 1<> ----- * Domain 1<> ---- * Node

我想:

  1. 节点实现可以将相应的父域注入 他自己。
  2. 节点实现也可以注入域管理器实例。
  3. 类NodeImpl {    @注入    NodeImpl(Domain parentDomain,DomainManager domainManager){

    } }

    我该怎么做?

1 个答案:

答案 0 :(得分:0)

如果不确切地知道你想要用你的节点和域做什么,很难回答,但是,使用@Assisted注入​​参数的jfpoilpret(+1)建议可能对你有所帮助。有关其工作原理的详细信息,请参阅this answer或(甚至更好)this

话虽如此,NodeImpl的构造函数可能如下所示:

@Inject
public NodeImpl(DomainManager manager, @Assisted Domain) {}

然后创建一个NodeFactory来交回NodeImpl的实例。但是,您仍需要使用 NodeFactory来确定哪些节点与哪些域相关联。