1

对不起我的英语不好。我不能在春天对泛型类进行依赖注入。通用类:

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。但我只能通过beanTaskDAO的接口设置依赖关系:DAOTaskBO

<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

4

1 回答 1

0

如果有错误,请附加堆栈跟踪。

在所有对属性访问器使用一致的情况之前:

abstract class BaseBO<Id, Entity, DAOClass extends DAO<Id, Entity>> implements BO<Id, Entity, DAOClass> {
    DAOClass dao;

    public DAOClass getDao() {
        return dao;
    }
    //...
}

很可能您需要 BaseBO.dao 属性的设置器

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;
    }

}
于 2013-08-17T11:33:25.240 回答