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 指定)