springMVC dubbo注解无效,service层返回空指针

出现空指针的原因是:spring mvc扫描的时候根本无法识别@Reference ,同一方面,dubbo的扫描也无法识别Spring @Controller ,所以两个扫描的顺序要排列好,  如果先扫了controller,这时候把控制器都实例化好了,再扫dubbo的服务,就会出现空指针。

将springMVC的配置与dubbo配置写在一个配置文件中,注意顺序

 

<mvc:annotation-driven />  
  
<!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->    
<dubbo:application name="dubbo-consumer" owner="programmer" organization="dubbox" />     
  
<dubbo:registry address="zookeeper://127.0.0.1:2181"/>  
  
<dubbo:consumer timeout="30000" />  
  
<!-- <dubbo:reference /> -->  
<dubbo:annotation package="com.dubbo.controller" />  
  
<!-- 把标记了@Controller注解的类转换为bean -->  
<context:component-scan base-package="com.dubbo.controller" />