我有一堆实体类型工厂,它们派生自一个通用的通用接口(interface)。例如,
public class ConnectionFactory implements IEntityFactory<Connection> { ... }
我想使用 Google-Guice打破对这些工厂的硬依赖。
但是,当我尝试配置 Guice 时出现语法错误:
public class EntityFactoryModule extends AbstractModule {
@Override
protected void configure() {
bind(IEntityFactory<Connection>.class).to(ConnectionFactory.class);
}
}
Eclipse 说“无法将 IEntityFactory 解析为变量。”
有人可以帮我理解为什么这不起作用吗?另外,是否有其他可用的语法?
最佳答案
我的 Guice-fu 通常是有限的,但我认为你需要一个类型文字:
bind(new TypeLiteral<IEntityFactory<Connection>>() {})
.to(ConnectionFactory.class);
关于java - 如何使用通用界面配置 Google-Guice?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6142177/