当我调用 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;
}