spring mvc中当XXXservice继承baseservice遇到basedao为null时的思考

36 篇文章 0 订阅

当XXXservice继承baseservice遇到basedao为null时的思考

 

思考:

在xxxService也必须注入BaseDao吗?

测试

private BaseDao BaseDao

get

set

测试失败。。。。。

 

怀疑是否为网上说的

Spring不会自动去给BaseAction注入需要的Service Bean

也就是注入parent

一种是

全用注解
<bean id="BaseDao" class="com.tsinghua.dao.impl.BaseDaoimpl">
          <property name="sessionFactory"><ref bean="sessionFactory" /></property>
</bean>

<bean id="BaseService" class="com.tsinghua.service.BaseServiceimpl">
         <property name="basedao"><ref bean="BaseDao" /></property>
      </bean>
1.将BaseDao的sessionFactory用注解方式注入
2.将BaseService的BaseDao用注解方式注入
Spring会自动判断父类

测试失败。。。。。

一种是在类中使用

@Resource private BaseServiceImpl baseService;

测试失败。。。。。

 

解决。。。。。。。。。。

解决方法:

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

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

成功

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值