Dubbo生产者端使用@Service注解无效的原因

SpringBoot框架中使用注解式Dubbo SpringBoot框架中使用注解式Dubbo新建三个模块dubbo-demo-api 通用接口dubbo-demo-service 服务提供方dubbo-demo-web 服务消费方注解配置需要 2.5.7 及以上版本支持服务提供方Service注解暴露服务 import com.alibaba.dubbo.config.annotation.Service; @Co... 阅读详情

在Dubbo生产者端暴露服务的方式有两种,一种是传统的xml配置标签方式,还有一种是使用@Service注解方式。

在使用@Service注解的过程中,踩了很多坑,给大家分享一下。

会导致@Service注解无效的原因大致有以下几点:

1、@Service注解的业务逻辑对象中有@Transactional注解。因为目前dubbo版本中,被事务代理的业务逻辑对象不能通过使用@Service注解暴露服务,因为被cglib或者Java Proxy代理的类不能被dubbo的annotation扫描到@Service注解。

2、未添加dubbo的annotation标签。

<dubbo:annotation package="com.yykj.mall.service"/>
3、使用了错误的@Service注解,Spring中也有@Service注解,所以要看清楚@Service注解是否是dubbo包中的。
Dubbo整合Spring Boot(采用注解API方式配置) 该种方式和上一篇:https://blog.csdn.net/u014429653/article/details/99703451创建过程基本一样,不同处是配置文件 参考官方文档API配置和注解配置将xml里面的东西编写为API代码再使用注解注册到容器中。 API配置: http://dubbo.apache.org/zh-cn/docs/user/configuration/api.html ... 阅读详情

相关推荐

机器人C++开源库The Robotics Library (RL)使用手册(三)

进入VS工程,我们先看看这些功能函数及其依赖库的分布关系:rl命名空间下,主要有八大模块。搞定VS后将逐个拆解。

qq_34839823的博客 1735

调用dubbo服务没有反应,

原因是dubbo接口的实现类,没有在重写方法的方法上,加上重写标识,所以,dubbo一直找不到这个方法,加上这个注解即可

yanlici1249075710的博客 1869

nRF5340双核实战:从Zephyr环境搭建到蓝牙协议栈部署

本文详细介绍了nRF5340双核处理器的开发实践,包括Zephyr环境搭建、蓝牙协议栈部署及双核协同工作配置。通过实战案例展示了如何利用nRF5340的双核异构架构提升蓝牙应用性能,并提供了调试技巧与资源优化建议,帮助开发者高效实现低功耗蓝牙设备开发。

weixin_42525385的博客 380

dubbo @Service标签没有作用无法发布服务问题

项目原先使用xml发布dubbo服务,后来改成标注形式的时候发现,provider始终无法正确发布。 原因 service的bean被事务代理了,用的是cglib,而cglib产生的代理类为子类,@Service标签位于其父类上,也就是未被代理的原类,项目启动时寻找的是代理类,类上没有@Service标注所以发布失效。 解决办法 1.用xml形式发布服务 2.修改dubbo源码,参考ht...

撸蛇的博客 2347

第2章 数据库关系模型-单元测验-数据库原理及应用

第2章 数据库关系模型---数据库与机器学习 作业 常用的关系查询操作包括选择、投影、连接、并、交等。 v 实体完整性是指关系表的属性组成必须是完整的。 x 自然连接是一种等值连接。 v 在参照完整性中,可以定义级联操作。 v 用户自定义完整性可以实施数据的业务约束。 v 每个关系是一个二维表,但二维表不一定是关系。 v 关系中复合键至少包含两个属性。 v 代理键是为了唯一标识关系的不同元组,需要在表单或报表中显示出来。 x ...

aiqq136的博客 5723

IMU数据处理避坑指南:从理论到实践的加速度计重力消除方案

本文详细解析了IMU数据处理中的重力消除技术,从理论基础到实践应用,涵盖了加速度计和陀螺仪的核心问题。通过ROS2实战案例,介绍了静态标定与动态校准的技术对比,以及多传感器融合的进阶策略,帮助开发者避免常见陷阱,提升IMU数据处理的精度和效率。

purple的博客 739

2021-11-07 Service层注解@Service失败原因及解决办法

Service层注解@Service失败原因及解决办法 直接上报错代码 Error creating bean with name 'com.mp.mybatis.MybatisApplicationTests': Unsatisfied dependency expressed through field 'userService'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: N

weixin_44357065的博客 6437

那些年对支付宝的研究[整理]

支付宝功能强大.他内部各个功能间的跳转是通过Uri 实现的.而使用window.location.href 即可.跟浏览器一样的协议.很方便 H5启动支付宝: alipays://platformapi/startapp?appId=20000067&url=网址 alipays://platformapi/startapp?appId=20000691&url=网址 ali...

技术专研 8914

记Springboot项目中@Service(或@Component)注解失效的问题解决方法

一、问题描述 今天基于SpringBoot写好的一个项目程序,启动时,报如下错误: 2020-04-07 14:04:41.420 WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - can...

IT- 研究者 8478

用 ABAP LSMW 的 Standard Batch / Direct Input 稳准快迁移物料主数据:从 MM01 录制到 RMDATIND 直入的落地指南

本文详细介绍了SAP数据迁移中LSMW工具的使用方法,重点分析了物料主数据迁移的两种主要路径:Batch Input Recording和Standard Batch/Direct Input。前者通过录制事务操作实现快速起步,后者通过调用预置接口程序实现稳定高效的批量处理。文章深入解析了Standard Direct Input的具体实施步骤,包括对象属性设置、源结构定义、字段映射规则等关键环节,并特别强调了迁移前的准备工作(如编号策略、视图策略等)对项目成功的重要性。通过对比两种方法的优缺点,为不同业务

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 148

深度解析 Android 开发工程师岗位:技术栈、职责与面试全攻略

本文深度剖析Android开发工程师职位要求,从核心技术栈到面试准备进行全面解读。关键点包括:1)掌握Kotlin语言特性和Jetpack组件;2)具备UI开发、性能优化和逆向分析能力;3)理解MVVM架构和Room数据库;4)熟悉常用工具链和开发流程。文章提供了详细的面试题库及解析,涵盖基础概念、UI优化、架构设计等方向,并给出职业发展建议:夯实基础、拓展技术广度、培养工程素养。旨在帮助开发者系统性地准备Android岗位求职,把握移动开发领域的技术趋势。

郑伟强dev的专栏 171

dubo使用注解,事务不生效

问题:在使用dubbo 2.5.3之前的版本@Service来发布服务时,当该服务中有@Transactional,服务注册不了 @Component @Service//这个service注解是dubbo的 @Transactional public class UserServiceImpl implements UserService { @Autowired private U...

守望希望 718

学Simulink——基于Simulink的固态变压器(SST)多级协同控制​

本文介绍了基于Simulink的固态变压器(SST)多级协同控制系统设计与仿真方法。SST作为智能电网关键设备,包含AC-DC整流、DC-DC隔离和DC-AC逆变三级变换器。针对级间耦合问题,提出了能量-功率协同控制策略,通过纵向解耦和横向联动实现稳定运行。详细演示了在Simulink中搭建三级主电路、设计协同控制器(含电网定向控制、功率前馈和虚拟惯性控制)的全过程,并通过负载突变测试验证了系统动态性能(直流母线电压波动<2%)。最后给出了工程部署建议,包括数字控制延时补偿、启动序列设计和代码自动生成

xiaoheshang_123的博客 199

dubbo与spring整合之@Service、@Reference注解处理过程

dubbo与spring整合之@Service、@Reference注解处理过程dubbo整合spring的必要性整体的架构流程@EnableDubboDubboConfigConfigurationRegistrarDubboComponentScanRegistrarReferenceAnnotationBeanPostProcessor dubbo整合spring的必要性 dubbo是一款高性能的服务框架,但是如果是单独使用的话,会比较麻烦,而且很多注册中心的代码都需要自己写,因为还需要一套自己的IO

JAVA技术爱好者 7063

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Spring整合Dubbo,@Service注解源码解析

在@DubboComponentScan注解上导入了一个DubboComponentScanRegistrar类,该类实现了ImportBeanDefinitionRegistrar接口,因此会调用到其对应的registerBeanDefinitions方法,主要就是分成三步,第一步是对传入的路径进行扫描,得到一个个的BeanDefinition,第二步是扫描包路径下加了@Service注解的类并且加以相关的处理逻辑,第三步是处理加了@Reference注解的类;

qq_43253125的博客 2476

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

浅谈Spring整合Dubbo源码(@Service和@Reference注解部分)

Spring整合Dubbo流程一、处理properties配置文件1、@EnableDubbo(scanBasePackages = "xxxx")2、@EnableDubboConfig3、@DubboConfigConfiguration4、DubboConfigBindingsRegistrar5、registerDubboConfigBeans(重点)二、处理@Service注解1、@DubboComponentScan2、ServiceAnnotationBeanPostProcessor3、re

持续Java学习中 2290

dubbo学习篇2 注解之 @Service 原理解析

一.使用注解 在dubbo springboot 使用时,在需要调用的服务接口上使用@Service 即可将接口实现作为服务暴露 即可给消费者调用 @Service(version = "1.0.0", application = "${dubbo.application.id}", protocol = "${dubbo.protocol.id}", ...

w18637468680的专栏 3373

Dubbo:@DubboService和@Service、@DubboReference和@Reference的区别和关系

目录前言1.不同时间的三组注解2.注解的升级2.1 @Reference2.1.1 Alibaba @Reference -> Apache @Reference2.1.1.1 注解升级2.1.1.2 属性增加2.1.2 @Reference -> @DubboReference2.1.2.1 注解升级2.1.2.2 属性增加2.2 @Service2.2.1 Alibaba @Service -> Apache @Service2.2.1.1 注解升级2.2.1.2 属性修改与增加2.2

Oxye 3万+

Dubbo是如何解析@Service、@Reference的?

文章目录1. Dubbo启动时的架构和流程 1. Dubbo启动时的架构和流程 启动原理图 Dubbo在Spring中的启动类: public class Application { // 启动 public static void main(String[] args) throws Exception { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContex

qq_1149513559的博客 3057

dubbo:reference、dubbo:service和@Service、@Reference使用情况

以前在同一模块中Spring依赖注入,可以通过@Service和@Autowired Dubbo是远程服务调用,消费方需要注入提供方定义的接口实例,可以通过xml配置 dubbo:reference、dubbo:service <dubbo:service interface="fei.CustomerServices" ref="customerServices"/> ...

shijiujiu33的博客 3万+

@Service与@Transactional同时使用,dubbo无法发布

@Service(dubbo的@service)与@Transactional同时使用,dubbo无法发布。 原因: 事务控制的底层原理是为服务提供者类创建代理对象,而默认情况下Spring是基于JDK动态代理方式创建代理对象,而此代理对象的完整类名为com.sun.proxy.$Proxy42(最后两位数字不是固定的),我们在配置中进行包扫描不是com.sun.proxy,导致Dubbo在发布服务前进行包匹配时无法完成匹配,进而没有进行服务的发布。 解决方案: (1)修改applicationContex

qq_35102098的博客 1179

dubbo源码-Service注解

dubbo源码-Service注解前言源码分析总结 前言 上一篇已经详细分析了dubbo的配置解析,本小节我们聊聊@Service注解。 当你使用@Service注解时有没有疑惑,这不是spring自带的注解,dubbo是如何扫描到该注解的,扫描到后又做了什么处理。 源码分析 @EnableDubbo @EnableDubbo(scanBasePackages = “org.apache.dubbo.demo.provider”) @DubboComponentScan public @interface

LiuRenyou的博客 2941

dubbo service注解用法_dubbo学习(四)配置dubbo 注解方式配置

provider(生产者)service注解暴露服务/*** 用户管理实现类*/@Service//用的dubbo的注解,表明这是一个分布式服务@Component //注册为spring beanpublic class UserServiceImpl implementsUserService {@AutowiredprivateUserMapper userMapper;@Overridep...

weixin_33334733的博客 2588

dubbo和spring的@service注解区别

个人观点是因为包扫描的配置不同 org.springframework.stereotype.Service是spring的注解,用于标注业务层组件(service)。标注了的组件需要在配置文件里有这样的配置<context:component-scan base-package="这里是包名" ></context:component-scan> com.alibab...

weixin_33889245的博客 3001

最新的dubbo 2.6.2版本中@Service注解的parameters配置BUG和解决方案

在描述这个BUG之前,我想先说一个需求场景,假设我们有一个DemoService接口: public interface DemoService { String sayHello(String name); String sayHello2(String name); } 我们想单独设置这两个方法的超时时间,该如何设置呢? 当然我们可以在consumer端通过@Refer...

xiao_jun_0820的专栏 1万+
上一篇: Dubbo传输的对象必须序列化(Serializable)
下一篇: Java虚拟机学习之Java内存区域篇
LiQiyaoo
博客等级 码龄11年 337粉丝 206原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值