Dubbo使用

本文介绍了Dubbo服务的使用方式,包括父工程管理依赖版本、生产者和消费者工程添加Dubbo相关jar包引用。还阐述了Service和Web添加接口引用以保证服务调用,以及服务的发布和调用配置,同时提醒要注意排除依赖冲突和将服务注册到Spring容器。

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

使用方式

父工程,管理依赖版本

配置dubbo版本

<dubbo.version>2.5.3</dubbo.version>
<zookeeper.version>3.4.7</zookeeper.version>
<zkclient.version>0.1</zkclient.version>

配置引用

<!-- dubbo相关 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dubbo</artifactId>
    <version>${dubbo.version}</version>
</dependency>
<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>${zookeeper.version}</version>
</dependency>
<dependency>
    <groupId>com.github.sgroschupf</groupId>
    <artifactId>zkclient</artifactId>
    <version>${zkclient.version}</version>
</dependency>

生产者,Service
消费者,Web

都是独立的工程
都需要添加对Dubbo相关jar包的引用

Service

添加引用

<!-- dubbo相关的jar包 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dubbo</artifactId>
    <exclusions>
        <exclusion>
            <artifactId>spring</artifactId>
            <groupId>org.springframework</groupId>
        </exclusion>
        <exclusion>
            <artifactId>netty</artifactId>
            <groupId>org.jboss.netty</groupId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
</dependency>
<dependency>
    <groupId>com.github.sgroschupf</groupId>
    <artifactId>zkclient</artifactId>
</dependency>

注意

由于Maven依赖传递
引入dubbo会把dubbo的相关依赖引入

需要排除dubbo依赖的Spring、netty
否则,可能会发生版本冲突的问题
Web同理,配置一样

Interface

Service、Web
都需要添加对接口的引用
必须保证接口的一致,才可以实现服务调用

Service引用接口

Pom.xml
<dependency>
    <groupId>com.taotao</groupId>
    <artifactId>taotao-manager-interface</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>

Web同理,配置一样

发布服务

Service发布服务
applicationContext-service.xml

添加dubbo标签、约束

xmlns:dubbo=http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd

这里写图片描述

暴露服务

<!-- 发布dubbo服务 -->
<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="taotao-manager" />
<!-- 注册中心的地址 -->
<dubbo:registry protocol="zookeeper" address="192.168.25.167:2181" />
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880" />
<!-- 声明需要暴露的服务接口 -->
<dubbo:service interface="com.taotao.service.ItemService" ref="itemServiceImpl" timeout="300"/>

调用服务

Web调用服务
springmvc.xml
同理,添加dubbo标签、约束

调用服务

<!-- 引用dubbo服务 -->
<dubbo:application name="taotao-manager-web"/>
<dubbo:registry protocol="zookeeper" address="192.168.25.167:2181"/>    
<dubbo:reference interface="com.taotao.service.ItemService" id="itemService" />

注意

配置在springmvc.xml
或者添加一个配置文件,扫描到Spring容器

调用服务,需要从容器中获取服务
所以,需要将服务注册到容器中

Spring MVC前端控制器
会初始化一个Spring MVC容器

将服务通过id,注册到Spring MVC容器
在Controller中,通过注解直接可以引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值