Spring + Dubbo + Zookeeper项目依赖注入

1. 服务提供方(Provider)

spring-service-bean.xml (定义本地 Bean):

复制代码
<context:annotation-config/>

<!-- 定义本地 Bean -->
<bean id="authService" class="com.plx.device.app.service.impl.AuthServiceImpl" />

spring-service-provider.xml (暴露 Dubbo 服务):

复制代码
<dubbo:application name="app-provider"></dubbo:application>
<dubbo:registry address="${dubbo.zookeeper.address}"></dubbo:registry>
<dubbo:protocol name="dubbo" port="${dubbo.protocal.port}" />

<!-- 暴露 Dubbo 服务 -->
<dubbo:service interface="com.plx.device.app.service.IAuthService" 
    ref="authService"  <!-- 这里的 ref 必须和上面 bean 的 id 一致 -->
    version="1.1.1" group="app" />

2. 服务消费方(Consumer)

spring-consumer.xml (引用 Dubbo 服务):

复制代码
<dubbo:application name="app-consumer"></dubbo:application>
<dubbo:registry address="${dubbo.zookeeper.address}"></dubbo:registry>

<!-- 引用 Dubbo 服务 -->
<dubbo:reference id="authService"  <!-- 这里定义的 id -->
    interface="com.plx.device.app.service.IAuthService" 
    version="1.1.1" group="app" />

然后在代码中使用:

复制代码
<dubbo:reference id="authService"  <!-- 这里定义的 id -->
    interface="com.plx.device.app.service.IAuthService" 
    version="1.1.1" group="app" />

## 总结

  • 提供方 : dubbo:service 的 ref 必须指向本地 bean 的 id

  • 消费方 : dubbo:reference 的 id 可以自定义,但要与代码中 @Autowired 的变量名匹配(或者用 @Qualifier 指定)

相关推荐
写后端的胖头鱼15 小时前
一文详解CAS
java·jvm·spring·cas·乐观锁·自旋
鱼宵16 小时前
Spring AI 提示词模板:{变量} 参数化 + few-shot,一条提示词反复用
java·人工智能·spring·few-shot·提示词工程·springai
我不会起名字32216 小时前
Redis 入门(三):Spring Boot 整合 Redis,RedisTemplate 实战与序列化乱码
redis·spring·工具类·jedis·lettuce
Wang's Blog19 小时前
Java框架 SpringCloud 快速入门: Nacos 服务多级存储模型
java·spring·spring cloud
Jinkxs20 小时前
Zookeeper - Java API 实现节点的创建与删除开发
java·zookeeper·java-zookeeper
小码哥06820 小时前
能碳管理系统源码揭秘:避坑指南与实战选型
java·spring·能源·能源管理·能源监测·能碳管理
鱼宵21 小时前
Spring AI 初体验:配好 yml 就能聊,ChatClient 四步链式调用
人工智能·spring·microsoft·大模型·springai·chatclient
endswel1 天前
Spring bean 注册多种方式
java·后端·spring