SpringBoot集成Dubbo详细配置

一、SpringBoot集成Dubbo分布式框架

分析:
	1、接口工程:存放实体bean和业务接口
    2、服务提供者:业务接口的实现类并将服务暴露且注册到注册中心,调用数据持久层.
        -添加依赖(dubbo,注册中心,接口工程,mysql驱动,mybatis)
        -配置服务提供者核心配置文件
    3、服务消费者:处理浏览器客户端发送的请求,从注册中心调用服务提供者所提供的服务
        -添加依赖(dubbo,注册中心,接口工程)
        -配置服务消费者核心配置文件|

1、创建三个项目如图

在这里插入图片描述

2、接口工程目录结构(因为只放bean和业务层接口,创建一个普通Maven工程即可)

在这里插入图片描述

3、服务提供者工程具体实现

在这里插入图片描述
1)pom文件中添加以下依赖

  <!--SpringBoot框架web项目起步依赖-->
  <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
   </dependency>

   <!--数据库驱动依赖-->
   <dependency>
       <groupId>mysql</groupId>
       <artifactId>mysql-connector-java</artifactId>
   </dependency>

   <!--Mybatis集成SpringBoot起步依赖-->
   <dependency>
       <groupId>org.mybatis.spring.boot</groupId>
       <artifactId>mybatis-spring-boot-starter</artifactId>
       <version>2.1.2</version>
   </dependency>

   <!--Dubbo集成SpringBoot起步依赖-->
   <dependency>
       <groupId>com.alibaba.spring.boot</groupId>
       <artifactId>dubbo-spring-boot-starter</artifactId>
       <version>2.0.0</version>
   </dependency>

   <!--zookeeper注册中心依赖-->
   <dependency>
       <groupId>com.101tec</groupId>
       <artifactId>zkclient</artifactId>
       <version>0.11</version>
   </dependency>

   <!--接口工程依赖-->
   <dependency>
       <groupId>huaxin</groupId>
       <artifactId>12_springboot-integration-dubbo-interface</artifactId>
       <version>1.0.0</version>
   </dependency>

2)SpringBoot配置文件信息

#设置连接数据库的配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=11111

#设置内嵌Tomcat端口号
server.port=8080
#设置上下文根
server.servlet.context-path=/

#mybatis配置sql映射文件的路径
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
#mybatis配置指定使用别名的包(xml文件使用别名处会爆红但不影响使用)
mybatis.type-aliases-package=huaxin.entity
#mybatis配置开启驼峰命名
mybatis.configuration.map-underscore-to-camel-case=true

#设置dubbo的配置
#服务提供者声明名称:必须保证服务名称的唯一性,它的名称是dubbo内部使用的唯一标识
spring.application.name=13_springboot-integration-dubbo-service-provider
#声明当前工程是一个服务提供者
spring.dubbo.server=true
#设置访问服务的协议及端口号,dubbo官方推荐使用的是dubbo协议,端口号默认20880
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20880
#指定zookeeper注册中心地址和端口号
spring.dubbo.registry=zookeeper://localhost:2181

3)在业务层实现类中添加com.alibaba.dubbo.config.annotation.Service包里面的@Service注解来暴露服务
在这里插入图片描述
4)在工程入口类添加@EnableDubboConfiguration 开启Dubbo配置
在这里插入图片描述

3、消费者工程具体实现

在这里插入图片描述
1)pom文件中添加以下依赖

 <!--SpringBoot框架web项目起步依赖-->
 <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
  </dependency>

  <!--Dubbo集成SpringBoot起步依赖-->
  <dependency>
      <groupId>com.alibaba.spring.boot</groupId>
      <artifactId>dubbo-spring-boot-starter</artifactId>
      <version>2.0.0</version>
  </dependency>

  <!--zookeeper注册中心依赖-->
  <dependency>
      <groupId>com.101tec</groupId>
      <artifactId>zkclient</artifactId>
      <version>0.11</version>
  </dependency>

  <!--接口工程依赖-->
  <dependency>
      <groupId>huaxin</groupId>
      <artifactId>12_springboot-integration-dubbo-interface</artifactId>
      <version>1.0.0</version>
  </dependency>

2)SpringBoot配置文件信息

#设置内嵌Tomcat端口号
server.port=8081
#设置上下文根
server.servlet.context-path=/

#设置dubbo的配置
#服务提供者声明名称:必须保证服务名称的唯一性,它的名称是dubbo内部使用的唯一标识
spring.application.name=14_springboot-integration-dubbo-consumer
#指定zookeeper注册中心地址和端口号
spring.dubbo.registry=zookeeper://localhost:2181


3)在表现层com.alibaba.dubbo.config.annotation.Reference包下的@Reference注解来引用远程服务
在这里插入图片描述
4)在工程入口类添加@EnableDubboConfiguration 开启Dubbo配置
在这里插入图片描述

3、测试

    1.启动zookeeper服务
    2.启动服务提供者工程
    3.启动消费者工程

1)启动zookeeper服务
在这里插入图片描述
2)启动服务提供者工程以及消费者工程在这里插入图片描述
3)请求数据
在这里插入图片描述
在这里插入图片描述
这样就集成成功了!

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodeRecently

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值