当我调用 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;     
}
 
                    
                 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号