一、在pom.xml中引入dubbo-starter依赖(服务消费者和服务提供者都要引入,因为此依赖包含了zookeeper依赖,就不需要引入其它依赖了)注意:SpringBoot2.0及以上用dubbo0.2版本,SpringBoot2.0及以下用dubbo0.1版本
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>
二、在application.properties配置文件中配置(服务消费者和服务提供者项目都要配置)
服务提供者(因为@service注解就不必配置暴露服务了)
#应用的名字
dubbo.application.name=user-service-provider
#连接注册中心
dubbo.registry.address=127.0.0.1:2181
dubbo.registry.protocol=zookeeper
#设置访问路径
dubbo.protocol.name=dubbo
dubbo.protocol.port=20881
#监控中心
dubbo.monitor.protocol=registry
#从base项目读取Bean和Service
dubbo.scan.base-packages=com.atguigu.gmall
服务消费者(因为@Reference注解就不必配置暴露服务了)
#监控中心端口为8080,避免端口占用,使用8081访问
server.port=8081
#应用
dubbo.application.name=boot-order-service-consumer
#注册中心
dubbo.registry.address=zookeeper://127.0.0.1:2181
#监控中心
dubbo.monitor.protocol=registry
如果是服务提供者,要在application.properties中一个个暴露服务,那么就要写大量的配置文件,可以在服务提供者的serviceimpl实现类中使用dubbo提供的@service注解来暴漏服务,把Spring的@Service换成@Component注入容器中。
如果是服务消费者,那么就在消费者的实现类中不用@Autowired而使用@Reference注解来引入提供者的Service层服务。消费者实现类还是用Spring的@Sevice注解不变。
最后,在服务提供者和服务消费者的启动类上加上@Enabledubbo注解来启用基于注解的dubbo功能。