Spring Boot教程第38篇:SpringBoot整合Dubbo

  1. 前提
    Docker安装安装zookeeper
    Docker pull zookeeper
    Docker run --name zk01 -p 2181:2181 --restart always -d dockerID

  2. 流程
    将服务提供者注册到注册中心
    1、引入dubbo和zkclient相关依赖
    2、配置dubbo的扫描包和注册中心地址
    3、使用@Service发布服务

  3. 创建一个生产者工程 引入依赖

<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>
  1. 生产者配置文件
dubbo.application.name=provider-ticket
dubbo.registry.address=zookeeper://192.168.43.197:2181
dubbo.scan.base-packages=com.atguigu.ticket.service
  1. 创建生产者 (@Service需要用com.alibaba.dubbo.config.annotation.Service)
public interface TicketService {

    public String getTicket();
}
@Component
@Service //将服务发布出去
public class TicketServiceImpl implements TicketService {
    @Override
    public String getTicket() {
        return "《厉害了,我的国》";
    }
}
  1. 另起一个工程创建消费者 引入依赖
<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>
  1. 生产者配置文件
dubbo.application.name=consumer-user
dubbo.registry.address=zookeeper://192.168.43.197:2181
dubbo.scan.base-packages=com.atguigu.ticket.service
  1. 把生产者提供的接口包移过来(全类名与生产者保持一致)
public interface TicketService {

    public String getTicket();
}
  1. 引用生产者
@Service
public class UserService{

    @Reference
    TicketService ticketService;

    public void hello(){
        String ticket = ticketService.getTicket();
        System.out.println("买到票了:"+ticket);
    }

}
  1. 测试类进行测试
@RunWith(SpringRunner.class)
@SpringBootTest
public class ConsumerUserApplicationTests {

   @Autowired
   UserService userService;

   @Test
   public void contextLoads() {

      userService.hello();
   }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值