对不起我的英语。我不能在spring中对泛型类进行依赖注入。泛型类:
abstract class BaseBO<Id, Entity, DAOClass extends DAO<Id, Entity>> implements BO<Id, Entity, DAOClass> {
DAOClass dao;
public DAOClass getDAO() {
return dao;
}
//...
}使用泛型类:
public class TaskBO extends BaseBO<Long, Task, TaskDAO> implements BO<Long, Task, TaskDAO> {
}我希望在类TaskBO中为属性TaskDAO执行依赖项注入。但是,我只能通过bean TaskDAO的接口DAO设置依赖项TaskBO:
<bean id="TaskBO" class="com.otv.model.bo.TaskBO">
<property name="DAO" ref="TaskDAO" />
</bean>
<bean id="TaskDAO" class="com.otv.model.dao.TaskDAO">
<property name="sessionFactory" ref="SessionFactory" />
</bean>如何通过类TaskDAO设置依赖项注入
发布于 2013-08-17 11:33:25
如果有错误,请附加带有错误的堆栈跟踪。
在所有属性访问器使用一致的大小写之前:
abstract class BaseBO<Id, Entity, DAOClass extends DAO<Id, Entity>> implements BO<Id, Entity, DAOClass> {
DAOClass dao;
public DAOClass getDao() {
return dao;
}
//...
}很可能您需要一个用于BaseBO.dao属性的setter。
public void setDao(DAOClass dao) {
this.dao = dao;
}或
public class TaskBO extends BaseBO<Long, Task, TaskDAO> implements BO<Long, Task, TaskDAO> {
public void setDao(TaskDAO dao) {
super.dao = dao;
}
}https://stackoverflow.com/questions/18288169
复制相似问题