java - 泛型类型的injector.getInstance

标签 java class generics dependency-injection guice

我看过这个post关于注册泛型类型。

如何注册的示例:

 bind(new TypeLiteral<Dal<RoutingResponse>>() {}).to((Class<? extends Dal<RoutingResponse>>) ResponseDal.class);

但是如何从注入(inject)器获取泛型类型的实例?

我已经尝试过:

injector.getInstance(Dal<RoutingResponse>().getClass());

但出现编译错误。

这个应该怎么写?

最佳答案

您可以使用Key获取这些绑定(bind)的实例:

injector.getInstance(new Key<Dal<RoutingResponse>>() {}); // supplied by @DanielPryden in the comments

或者更长的版本,带有 TypeLiteral :

injector.getInstance(Key.get(new TypeLiteral<Dal<RoutingResponse>>() {}));

关于java - 泛型类型的injector.getInstance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28551289/

相关文章:

java - 如何从 JAVA httpSession 获取参数并在 dao 类上使用/设置它?

java - [JAVA]如何创建排名系统并将其保存到.txt 文件?

java - 我怎样才能让这个 for 循环更短?

class - 根据一台机器上安装的类选择 puppet 模板

C++: "Class namespaces"?

xcode - 具有特定颜色的特定字母?

c# - 通用方法和类型转换

java - 在第一个用户登录 android 后显示空值

c# - 有没有办法将参数传递给 is 运算符?

c++ - 有没有更好的方法来执行此 C++,从任何类型的文件中保存和加载变量?