1、搭建空项目
2、搭建服务提供者privoder
3、搭建服务消费者consumer
4、两个项目都加入pom
1、springboot更换1.5.9.RELEASE
2、引入dubble和zookeeper依赖
<!-- springboot中的dubbo -->
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.1.0</version>
</dependency>
<!-- zookeeper -->
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
</dependency>
5、服务项增加接口、实现类
- 接口
package com.user.service; public interface TickerService { public String getTicket(); }
- 实现类:service是doubble
package com.user.service; import com.alibaba.dubbo.config.annotation.Service; import org.springframework.stereotype.Component; @Service @Component public class TickerServiceImpl implements TickerService { @Override public String getTicket() { return "00012A票号+++++++++++++++++++++++++++++++++++++++"; } }
6、启动项增加
-
@EnableDubbo
7、properties
server.port=8089
dubbo.application.name=provider-ticket
dubbo.registry.address=zookeeper://192.168.3.75:2181
dubbo.scan.base-packages=com.provider.service
8、消费项目增加实现类
- 接口的包名、类名要和服务项目的接口一致
package com.user.service; public interface TickerService { public String getTicket(); }
-
调用接口@Service是springboot、@Reference是dubbo
package com.user.consumer.service; import com.alibaba.dubbo.config.annotation.Reference; import com.user.service.TickerService; import org.springframework.stereotype.Service; @Service public class BuyTicket { @Reference private TickerService tickerService; public void hello(){ String ticket = tickerService.getTicket(); System.out.println("买到了票+++++++++-------------------------" + ticket); } }
- properties
server.port=8090 dubbo.application.name=consumer-user dubbo.registry.address=zookeeper://192.168.3.75:2181
-
测试