Ela*_*da2 2 java generics dependency-injection class guice
我看过这篇关于注册泛型类型的帖子.
如何注册的例子:
bind(new TypeLiteral<Dal<RoutingResponse>>() {}).to((Class<? extends Dal<RoutingResponse>>) ResponseDal.class);
Run Code Online (Sandbox Code Playgroud)
但是如何从进样器中获取泛型类型的实例?
我试过了:
injector.getInstance(Dal<RoutingResponse>().getClass());
Run Code Online (Sandbox Code Playgroud)
但有编译错误.
我该怎么写呢?
您可以使用Key来获取这些绑定的实例:
injector.getInstance(new Key<Dal<RoutingResponse>>() {}); // supplied by @DanielPryden in the comments
Run Code Online (Sandbox Code Playgroud)
或者在更长的版本中,使用TypeLiteral:
injector.getInstance(Key.get(new TypeLiteral<Dal<RoutingResponse>>() {}));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1969 次 |
最近记录: |