出现空指针的缘由是:spring mvc扫描的时候根本没法识别@Reference ,同一方面,dubbo的扫描也没法识别Spring @Controller ,因此两个扫描的顺序要排列好, 若是先扫了controller,这时候把控制器都实例化好了,再扫dubbo的服务,就会出现空指针。spring
将springMVC的配置与dubbo配置写在一个配置文件中,注意顺序mvc
<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" />