如何通过guice注入Map对象?

时间:2012-01-26 08:45:12

标签: java collections guice inject

class Person{
  Map sons;
  Map getSons(){
    return sons;
  }
}

class Test{
  public void Main(){
    Person p=new Person();
    Map sons=new HashMap<String,Person>();
    sons.add("jack",new Person());
    .....  // here use guice to inject this Map object to p,how to do it?
    System.out.print(new Person().getSons().count());
  }
} 

就像代码所示,如​​何通过guice将现有的Map对象注入bean?

1 个答案:

答案 0 :(得分:0)

我怀疑你想使用TypeLiteral

然后您需要使用this bind method

另一个选择是将Map包装成更简单的类型,也许是PersonAccess。无论如何,这可能会更好,因为它可能会隐藏查找的实现。