首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring依赖注入和泛型类

Spring依赖注入和泛型类
EN

Stack Overflow用户
提问于 2013-08-17 11:17:32
回答 1查看 1.1K关注 0票数 1

对不起我的英语。我不能在spring中对泛型类进行依赖注入。泛型类:

代码语言:javascript
复制
abstract class BaseBO<Id, Entity, DAOClass extends DAO<Id, Entity>> implements BO<Id, Entity, DAOClass> {
    DAOClass dao;

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

使用泛型类:

代码语言:javascript
复制
public class TaskBO extends BaseBO<Long, Task, TaskDAO> implements BO<Long, Task, TaskDAO> {

}

我希望在类TaskBO中为属性TaskDAO执行依赖项注入。但是,我只能通过bean TaskDAO的接口DAO设置依赖项TaskBO

代码语言:javascript
复制
<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设置依赖项注入

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-17 11:33:25

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

在所有属性访问器使用一致的大小写之前:

代码语言:javascript
复制
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。

代码语言:javascript
复制
public void setDao(DAOClass dao) {
  this.dao = dao;
}

代码语言:javascript
复制
public class TaskBO extends BaseBO<Long, Task, TaskDAO> implements BO<Long, Task, TaskDAO> {

    public void setDao(TaskDAO dao) {
      super.dao = dao;
    }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18288169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档