如何通过guice注入Map对象?

发布于 2024-12-29 07:55:44 字数 422 浏览 1 评论 0原文

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 中?

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());
  }
} 

just like the code showed about,how to inject a existing Map object into a bean by guice ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

秉烛思 2025-01-05 07:55:44

我怀疑您想使用 TypeLiteral

您然后需要使用 这个绑定方法

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

I suspect you want to use a TypeLiteral

You will then need to use this bind method.

Another option would be to wrap up your Map in a simpler type, a PersonAccess, perhaps. This might be better anyway since it could hide the implementation of the lookup.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文