我正在尝试将类型化对象注入服务类但是获取
com.google.inject.ConfigurationException: Guice configuration errors:
1) No implementation for com.bookpac.utils.appserver.ILookup<com.bookpac.server.common.IWS> was bound.
while locating com.bookpac.utils.appserver.ILookup<com.bookpac.server.common.IWS>
for parameter 0 at com.bookpac.server.LookupService.<init>(LookupService.java:13)
while locating com.bookpac.server.LookupService
要注入的字段是ILookup<IWS> lookup
,
绑定是bind(ILookup.class).toProvider(LookupProvider.class)
使用@Provides注释时,一切正常,有什么想法吗?
答案 0 :(得分:2)
使用泛型类型时,需要使用TypeLiteral,如:
bind(new TypeLiteral<ILookup<IWS>>(){}).toProvider(LookupProvider.class);
Java还没有提供表示泛型类型的方法,所以这个 上课。