最近自学到了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 注解所在的包名" />