当我尝试使用Jukito模拟 Dao 时,出现以下异常:
java.lang.ClassCastException: java.lang.Class cannot be cast to java.lang.reflect.ParameterizedType
at org.jukito.JukitoModule.addKeyDependency(JukitoModule.java:338)
at org.jukito.JukitoModule.addInjectionPointDependencies(JukitoModule.java:330)
at org.jukito.JukitoModule.addDependencies(JukitoModule.java:313)
我试图模拟的对象是ConcreteDao
.
public class ConcreteDao extends AbstractDao<MyDomain> {
}
public abstract class AbstractDao<T extends DatastoreObject> {
}
我在 SO 上阅读了几篇关于此绑定泛型的帖子,但我无法找到TypeLiteral
用于绑定的方法。
这是我尝试过的:
bind(new TypeLiteral<AbstractDao<MyDomain>>(){}).to(ConcreteDao.class);