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 id="demoService" interface="com.dubbo.service.DemoService"/> --> <dubbo:annotation package="com.dubbo.controller" /> <!-- 把标记了@Controller注解的类转换为bean --> <context:component-scan base-package="com.dubbo.controller" />