springMVC dubbo消费者 @Reference注解无效,service层返回空指针

由于将来的项目将使用spring boot技术为主题,这几天尝试了一下springboot+dubbo来完成业务架构的分层,这篇文章主要记录springboot搭建过程中遇到的dubbo空指针问题。

首先建议遇到此问题的通道,看一下这篇文章

http://www.oschina.net/question/1011127_144093?fromerr=7pRd3NKv

这篇文章虽然没有解决掉springboot的配置问题,但是为解决这个问题提供了思路,springboot+dubbo的空指针问题,主要原因:spring 扫描的时候根本无法识别@Reference ,同一方面,dubbo的扫描也无法识别Spring @Controller ,所以两个扫描的顺序要排列好,如果先扫了controller,这时候把控制器都实例化好了,再扫dubbo的服务,就会出现空指针。

下面提供一下代码:

dubbo-provider.xml:提供者先扫描spring框架,完成spring部分的扫描,然后将为dubbo框架提供服务;消费者部分相反,先扫描dubbo服务,后扫描spring部分~

<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" />

产考:https://blog.csdn.net/zhou_java_hui/article/details/53039491

原文地址:http://blog.51cto.com/4925054/2095231

时间: 2024-10-14 09:52:21

springMVC dubbo消费者 @Reference注解无效,service层返回空指针的相关文章

springMVC里dubbo注解无效,service接口返回空指针

1. 出现空指针的原因是: spring mvc扫描的时候根本无法识别@Reference ,同一方面,dubbo的扫描也无法识别Spring @Controller ,所以两个扫描的顺序要排列好, >如果先扫了controller,这时候把控制器都实例化好了,再扫dubbo的服务,就会出现空指针. >如果先扫dubbo,这个时候@Reference生效,接口实例化了,在扫controller,就不会出现空指针. 2. 解决: >让dubbo扫描在controller扫描之前: <

Myeclipse插件快速生成ssh项目并配置注解 在action层注入service的超详细过程

最近发现,我对于ssh的 自动注入配置 还是不熟悉,于是整理了一下 终于做了一个 简单的 注入配置出来. 以前都是在applicationContext.xml 里面这样配 <bean id="loginAction" class="com.dj.ssh.action.LoginAction" scope="prototype" autowire="byName"> <property name="

maven+springmvc+dubbo+zookeeper

为什么要用dubbo? 还是让官方来解释吧: http://dubbo.io/User+Guide-zh.htm   http://dubbo.io/ 一般 nginx+tomcat  | ----> Controller1--------->service1 请求----->nginx  |  |----->Controller2--------->service2 请求进了Controller 就只有一条路可以走了 使用dubbo后 | ------->servic

Maven+SpringMVC+Dubbo 简单的入门demo配置

之前一直听说dubbo,是一个很厉害的分布式服务框架,而且巴巴将其开源,这对于咱们广大程序猿来说,真是一个好消息.最近有时间了,打算做一个demo把dubbo在本地跑起来先. 先copy一段dubbo的介绍哈!DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点(其他的详细介绍可以查看dubbo的官网地址dubbo,写

Spring+SpringMVC+mybatis整合以及注解的使用

1.包结构:  2.spring配置:基本的DAO配置以及扫描Mapper(扫描出来的Mapper为首字母小写) 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:context="http://www.springframework.org/sche

springmvc入门基础之注解和参数传递

一.SpringMVC注解入门 1. 创建web项目2. 在springmvc的配置文件中指定注解驱动,配置扫描器 Xml代码   <!-- mvc的注解驱动 --> <mvc:annotation-driven /> <!--只要定义了扫描器,注解驱动就不需要,扫描器已经有了注解驱动的功能 --> <context:component-scan base-package="org.study1.mvc.controller" /> &l

spring aop + xmemcached 配置service层缓存策略

Memcached 作用与使用 基本介绍 1,对于缓存的存取方式,简言之,就是以键值对的形式将数据保存在内存中.在日常业务中涉及的操作无非就是增删改查.加入缓存机制后,查询的时候,对数据进行缓存,增删改的时候,清除缓存即可.这其中对于缓存的闭合就非常重要,如果缓存没有及时得到更新,那用户就会获取到过期数据,就会产生问题. 2,对于单一业务的缓存管理(数据库中只操作单表),只需生成一个key,查询时,使用key,置入缓存:增删改时,使用key,清除缓存.将key与表绑定,操作相对简单. 3,但是在

SpringMVC + myBatis + mySQL 全注解 事务配置

项目中使用SpringMVC+myBatis + mySQL  开发 ,需要事务管理功能 , 配置如下 1.service.xml配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i

springMVC学习笔记(二)-----注解和非注解入门小程序

最近一直在做一个电商的项目,周末加班,忙的都没有时间更新博客了.终于在上周五上线了,可以轻松几天了.闲话不扯淡了,继续谈谈springMvc的学习. 现在,用到SpringMvc的大部分使用全注解配置,但全注解配置也是由非注解发张而来的.所以,今天就谈谈springMvc最基础的注解和非注解的配置以及开发模式. 一:基础环境准备 1.功能需求:一个简单的商品列表查询 2.开发环境:eclipse,java1.7,springmvc版本:3.2 3.springMvc所需jar包(一定包括spri