如何实例化一个在Spring框架中使用generics的对象?

我有一个看起来像这样的类:

class Dao<T>{ ... } 

我想做这个:

 new Dao<Student>(); 

来自Spring XMLconfiguration。

可以这样做吗? 怎么样?

阅读types删除应该有助于你更好地理解这一点。

在运行时,generics类的types参数被删除 。 意义,正如Cletus所说,Java中的generics基本上是语法糖 – 它们只是一个编译时的特征。

由于Spring在运行时实例化对象,因此实际上可以自由地实例化任何types的Dao ,事实上,没有任何东西可以阻止它创buildDao ,并在某些方法中传入Studenttypes,在另一个方法中传入Teachertypes。

所以基本上答案是,Spring并不知道Daotypes是用来参数化的,对此无能为力。

你不能这样做,你不能这样做的原因是它实际上没有任何意义。 我的意思是,Javagenerics是语法糖,所以你创build一个bean的types是不相关的。 你可以把它注入任何一个Dao(或Dao)中,在这一点上它将会使用隐式的注入types。