当我调用 ProductService继承BaseService的方法时,提示我BaseDao属性null

转自:http://hi.baidu.com/annleecn/blog/item/6058798a21410a14c8fc7ac6.html

spring bean 结构:
interface           impliment
BaseDao         BaseDaoImpl
|                           |
ProductDao      ProductDaoImpl

BaseService     BaseServiceImpl
|                              |
ProDuctService ProDuctServiceImpl

spring配置:
beanid           class                        property-ref
BaseDao       BaseDaoImpl         sessionFactory
ProductDao    ProductDaoImpl      sessionFactory

BaseService      BaseServiceImpl         BaseDao
ProDuctService      ProDuctServiceImpl   ProductDao

问题:
当我调用 ProDuctService继承BaseService的方法时,提示我BaseDao属性null,
怎么回事?在ProDuctService也必须注入BaseDao吗?

解决方法:

在ProDuctService 里,设置dao的时候需要super.set(dao)一下就行了,
不用在spring再注入一次了(虽然再注入也可以,但毕竟不规范)。
如下所示:


Java代码
public void setProductDao(ProductDao productDao) {  
    super.setBaseDao(ProductDao);  
    this.Product = productDao;  
}

posted @ 2008-10-31 18:59  Earl_86  阅读(562)  评论(0编辑  收藏  举报