Dubbo学习笔记-动力节点(第二章)Dubbo框架实现RPC

本文是关于Dubbo的学习笔记,主要介绍了如何实现第一个服务提供者和消费者,涉及Dubbo常用标签和注解的使用,适合Java后端开发者学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近自学到了Dubbo,我是跟着动力节点的视频在学,并且整理了相关笔记,分享给大家,也为以后复习用

视频资源:https://www.bilibili.com/video/BV1Sk4y197eD

第二章 Dubbo框架实现RPC

2.1 第一个服务提供者

使用直连方式,访问提供者。

1) 依赖:pom.xml

	<dependency>
      <groupId>org.apache.dubbo</groupId>
      <artifactId>dubbo</artifactId>
      <version>2.7.8</version>
    </dependency>

在这里插入图片描述

2 ) 创建一个数据类,表示订单的信息

Order: 有id, goodsName ,price , amount

3) 创建服务提供者接口 OrderService

Order createOrder(Integer userId, String goodsName, Float price, Integer amount)

4)暴露服务,使用dubbo框架的功能。

把服务暴露出去,消费者才能调用。 暴露的就是接口。

需要在spring的配置文件中声明暴露服务


   <!--声明dubbo的服务名称,必须的
        name:服务名称,推荐使用项目名称,这个name的值最后是唯一的。
    -->
    <dubbo:application name="01-orderservce-provider" />

    <!--声明使用的协议和端口:可选-->
    <dubbo:protocol name="dubbo" port="20880" />

    <!--声明暴露的服务
        interface:要暴露的接口的全限定名称
        ref:此接口的实现类对象的id
        registry:是否使用注册中心, 直连项目不使用注册中心, 赋值N/A
    -->
    <dubbo:service interface="com.bjpowernode.service.OrderService"
                   ref="orderServiceBean"
                   registry="N/A"  />

    <!--声明Bean-->
    <bean id="orderServiceBean" class="com.bjpowernode.service.impl.OrderServiceImpl" />

5)把提供者安装到maven仓库中

maven install

2.2 第一个消费者

创建maven项目

1) pom.xml

加入dubbo依赖

    <!--加入dubbo的依赖-->
    <dependency>
      <groupId>org.apache.dubbo</groupId>
      <artifactId>dubbo</artifactId>
      <version>2.7.8</version>
    </dependency>

    <!--提供者坐标-->
    <dependency>
      <groupId>com.bjpowernode</groupId>
      <artifactId>01-orderservce-provider</artifactId>
      <version>1.0.0</version>
    </dependency>

2)声明要使用的dubbo服务提供者。 说明要使用的接口

在spring的配置文件者, 声明要使用的接口

2.3 Dubbo常用标签

1) 公用标签:在提供者和消费者中都使用的。

<dubbo:application name="" />

<dubbo:registry />  

2)提供者标签

<dubbo:service interface="接口" />

3)消费者标签

<dubbo:reference interface="接口">

2.4 Dubbo注解

@EnableDubbo , @EnableDubboConfig , @DubboComponentScan,
@DubboService,@DubboReference

@DubboService

@DubboService == <dubbo:service> 暴露服务的
    属性:interface:接口的.class
    位置:放在接口的实现类的上面

@DubboReference

@DubboReference == <dubbo:reference> 引用远程服务
    位置:可以放在属性(成员变量)定义上面,可以方法上面

Dubbo组件扫描器:扫描的是Dubbo的注解(@DubboService,@DubboReference)

<dubbo:annotation package="dubbo 注解所在的包名" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值