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

1. 出现空指针的原因是:

  spring mvc扫描的时候根本无法识别@Reference ,同一方面,dubbo的扫描也无法识别Spring @Controller ,所以两个扫描的顺序要排列好,

    》如果先扫了controller,这时候把控制器都实例化好了,再扫dubbo的服务,就会出现空指针。

    》如果先扫dubbo,这个时候@Reference生效,接口实例化了,在扫controller,就不会出现空指针。

2. 解决:

  》让dubbo扫描在controller扫描之前:

<!--spring扫描:@Controller -->    <context:component-scan base-package="com.ll.action" />

<!--dubbo扫描:@Reference-->
<dubbo:annotation package="com.ll.action" />

 》让dubbo配置在springMVC配置之前加载:

<import resource="consumer.xml" />
<import resource="spring-mvc.xml" />

 

原文地址:https://www.cnblogs.com/luliang888/p/11219222.html

时间: 2024-08-02 19:44:43

springMVC里dubbo注解无效,service接口返回空指针的相关文章

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

由于将来的项目将使用spring boot技术为主题,这几天尝试了一下springboot+dubbo来完成业务架构的分层,这篇文章主要记录springboot搭建过程中遇到的dubbo空指针问题. 首先建议遇到此问题的通道,看一下这篇文章 http://www.oschina.net/question/1011127_144093?fromerr=7pRd3NKv 这篇文章虽然没有解决掉springboot的配置问题,但是为解决这个问题提供了思路,springboot+dubbo的空指针问题,

springmvc结合@Qualifier注解调用同一接口的不同实现类

#在controller中定义接口并使用spring注解方式@autowired来进行装配工作 #对不同的service进行get和set,并在set方法中使用@qualifier标注对应的service名称, 注意,这里标注的service名称一定要跟spring对应xml中的bean的ID保持一致! #在对应controller中 #实现类2 #实现类1 #spring对应xml中配置对应javabean,bean对应ID的名称一定要和controller中的service名称保持一致!

大佬教你在springMVC中使用dubbo注解配置的问题

问题,在controller中无法通过注解自动注入dubbo服务,但是在service中可以自动注入.package com.sl;br/>@Controllerpublic class P{br/>//期望注入dubbo服务@Reference(version="1.0.0")private I0 o;br/>//注入service@Autowiredprivate S s; @RequestMapping("p")public void p()

WebService之CXF注解之二(Service接口)

ITeacherService.java: /** * @Title:ITeacherService.java * @Package:com.you.service * @Description:教师Service接口 * @author:Youhaidong(游海东) * @date:2014-5-5 下午11:06:24 * @version V1.0 */ package com.you.service; import javax.jws.WebMethod; import javax.j

SpringMVC使用@ResponseBody注解返回中文字符串乱码的问题

先说一下我的经历,以及解决问题的而过程. 在使用SpringMVC的时候,最开始的时候在配置文件中使用<mvc:annotation-driven />去自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,这是spring MVC为@Controllers分发请求所必须的.再后来,Ajax请求需要返回字符串,遂在控制器上使用@ResponseBody注解来实现,这时候遇到的一个问题是,返回中文字符的

SpringMVC的常用注解

springmvc的常用注解: 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示.在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@Reques

Spring SpringMVC SpringBoot SpringCloud 注解整理大全

Spring SpringMVC SpringBoot SpringCloud 注解整理 这段时间学习了一些框架,里面用到了很多注解,记不住所以把遇到的注解都整理了下来,如果有不对的地方欢迎指正,我会修改的φ(??∀??)? Spring 常用配置: @import :导入配置类 @Scope : 新建Bean的实例 @Scope("prototype") 声明Scope 为 Prototype @Value : 属性注入 @Value ("我爱你") -->

spring+springmvc+mybatis-plus 纯注解开发

最近刚完成一个项目,刚好有一点时间,来完成基于spring+springmvc+mybatis-plus 纯注解开发 一.创建工程.导入依赖 1.新建一个基于maven的web工程,使用JDK1.8 2.调整目录结构 2.1.新建java 2.2.新建resources 2.3.删除web.xml.构建基础包 2.4.工程目录构建完成展示 2.配置tomcat服务器 2.1.服务器配置 2.2.测试服务器配置 3.pom.xml文件配置 1 <properties> 2 <project

Spring5:@Autowired注解、@Resource注解和@Service注解

什么是注解 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文件,那么.xml文件又会非常多.总之这将导致配置文件的可读性与可维护性变得很低 2.在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率 为了解决这两个问题,Spring引入了注解,通过"@XXX"的方式,让注解与Java