回顾
单机版Dubbo的流程我在上一篇说过了单机版Dubbo详解,Springboot和它的流程是一样的,不同的是springboot可以自动配置dubbo,我们主要看一下在application.yml中 提供者和消费者都需要写点什么
前期工作
- 启动ZookeeperService
- 启动ZookeeperCli
- 启动Dubbo
提供者
这里我用的聚合工程
工程目录如下:
dubbo-boot-user-service(服务提供者)
application.yml
当时单机版Dubbo的provider我在xml里写过这么几个东西
dubbo的配置我贴一下,我们对比来看
dubbo:
application:
# <dubbo:application name =""/>
name: user-service
# <dubbo:registry address=""/>
registry:
address: zookeeper://127.0.0.1:2181
# <dubbo: protocol name="" port="" />
protocol:
name: dubbo
port: 9090
是不是还差两个东西 一个是发布的服务接口另一个是接口的实现类,我们看看写在哪了
@Service改用dubbo下的,这个注解办了两个事,就相当于写了
<bean id="" class=""/>
+<dubbo:service ref="" class="" />
- 第一个发布服务到注册中心
- 第二个把接口实现类扔到IOC容器中
启动类:需要加@EnableDubbo注解自动加载Dubbo
dubbo-boot-consumer(消费者)
这是上一篇单机版配置,我们可以看到有三个东西需要在配置中体现出来
这是application.yml
dubbo:
# <dubbo:application name=""/>
application:
name: user-service-consumer
# <dubbo :registry address=""/>
registry:
address: zookeeper://127.0.0.1:2181
对比了一下 我们发现少了一个Reference对不对?去哪了呢?好说@Reference注解就上场了
消费者这里牵扯到的实体类(User)需要实现序列化接口
开猫启动
这里的消费者其实就是一服务的调用者,由它去调用注册中心中的服务,而里面的服务真正的和数据库交互
没有问题
Dubbo控制台看一眼
没有问题
总结
Springboot整合Dubbo就说完了,这其实就是一个配置变迁的过程,希望大家活学活用