一、服务提供者
1、新建maven工程:dubbo_provider
2、新建子模块api(maven工程):
3、新建子模块provider,此模块为springboot 工程:
目录结构为:
api为接口、实体类等服务提供者和消费者都会用到的公共模块。
4、在provider模块pom.xml增加zookeeper、dubbo的依赖:
<properties>
<dubbo.version>3.0.0</dubbo.version>
</properties>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>${dubbo.version}</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-zookeeper</artifactId>
<version>${dubbo.version}</version>
<type>pom</type>
</dependency>
5、启动类注解@EnableDubbo
6、配置文件application.properties
server.port=8081
dubbo.application.name=dubbo-annotation-provider
dubbo.registry.address=zookeeper://47.97.112.208:2181
dubbo.protocol.name=dubbo
dubbo.protocol.port=-1
dubbo.registry.timeout=60000
7、api模块编写接口:
8、provider模块编写实现类:
注解DubboService为apache dubbo包中的注解,不再使用spring注解@Service。Dubbo的2.7.7版本中已经标注了Reference和Service注解为@Deprecated弃用了。改用DubboReference和DubboService这两个注解了。
二、服务消费者
1、新建springboot web工程dubbo_consumer。
2、pom.xml文件中添加api模块的maven包依赖:
3、增加zookeeper、dubbo的依赖
<properties>
<dubbo.version>3.0.0</dubbo.version>
</properties>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>${dubbo.version}</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-zookeeper</artifactId>
<version>${dubbo.version}</version>
<type>pom</type>
</dependency>
4、配置文件application.properties:
server.port=8082
dubbo.application.name=dubbo-annotation-consumer
dubbo.registry.address=zookeeper://47.97.112.208:2181
dubbo.protocol.name=dubbo
dubbo.protocol.port=-1
dubbo.registry.timeout=60000
5、启动类也增加注解@EnableDubbo
6、新建测试controller
注解@DubboReference为apache dubbo包中的注解,不再使用spring注解@Autowired。
7、测试结果
参考资料:注解配置 | Apache Dubbohttps://dubbo.apache.org/zh/docs/references/configuration/annotation/
dubbo 注解方法官方实例: