如何通过guice注入Map对象?
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我怀疑您想使用 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.