简要说明

本次开发环境基于 jdk1.8
- qc-api 模块,父 pom 模块,定义项目依赖的版本
- qc-service-api 模块 ,对外暴露API模块
- qc-service-api-bus 模块, dubbo 消费方,调用各个 dubbo 服务
- qc-service-core 模块, 核心工具类,提供工具类以及通用的基础服务
- qc-service-middleware 模块 抽象dubbo服务,服务在此处定义好接口,提供方实现接口,消费方直接消费接口
- qc-service-order 模块,订单模块,作为dubbo服务提供方之一
- qc-service-payment 模块, 支付模块,作为dubbo服务提供方之一
下面以一个demo为例子,讲述一下流程

1, 首先在middleware层定义好抽象服务
2, 服务提供方实现接口, 注意:此处的@service注解是dubbo提供的

服务提供方会有一份自己的dubbo配置,如下图:配置的含义注释已经很清晰了,最下面的暴露服务配置注释掉了,跟@service注解实现的等价

然后在spring的主配置文件中导入dubbo配置,如下图:

3, 服务消费方直接注入service接口调用,如图:

dubbo消费方同样有一个配置文件,同样需要集成到spring中,通过dubbo:reference申明需要消费的服务或者通过@Reference注解

- service-api模块调用api-bus的消费结果,对外暴露API接口

网友评论