2011-04-29 53 views
2

Sry for my english。我有下一个问题。我有三个实体: DomainManager,域和节点。 DomainManager是单身人士,能够 创建域对象的列表。每个域创建节点 对象列表:Google Guice。我需要将相应的父对象注入包含的对象

DomainManager 1 <> ----- *域名1 <> ---- *节点

我想:

  1. 节点实现可以自己将相应的父域注入到 。
  2. 节点实现也可以注入域管理器实例。

类NodeImpl { @Inject NodeImpl(域parentDomain,DomainManager domainManager){

}}

我怎样才能做到这一点?

+1

你可能想看看Guice“辅助注射”。 – jfpoilpret 2011-04-29 08:31:31

回答

0

如果不知道你想要的是什么与你的节点和域,但是,遵循jfpoilprepre的(+1)建议使用@Assisted注入​​参数可能会帮助你很难回答。请参阅this answer或(更好)this以了解其工作原理的详细信息。

说了这么多,你的NodeImpl构造可能是这样的:

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

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

相关问题