当前位置: 首页 > news >正文

Dubbo3.0 Demo

将SpringBoot工程集成Dubbo

1.创建父工程

在这里插入图片描述

2.创建子工程consumer,provider

在这里插入图片描述
在这里插入图片描述

3.初始化工程

在这里插入图片描述

4.引入依赖

在provider和consumer中引入dubbo依赖

        <dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>3.0.7</version></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-rpc-dubbo</artifactId><version>3.0.7</version></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-registry-zookeeper</artifactId><version>3.0.7</version></dependency>

5.新建common模块

在这里插入图片描述
在common模块创建User类
User

@Data
@AllArgsConstructor
public class User implements Serializable {private String uid;private String username;
}

在common模块创建接口UserService

public interface UserService {public User getUser(String uid);
}

Provider

1.pom中添加依赖

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>3.0.7</version></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-rpc-dubbo</artifactId><version>3.0.7</version></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-registry-zookeeper</artifactId><version>3.0.7</version></dependency><dependency><groupId>com.hejiawang</groupId><artifactId>common</artifactId><version>0.0.1-SNAPSHOT</version><scope>compile</scope></dependency>

2.添加UserServiceImpl

使用@DubboService并且指定版本

@DubboService(version = "1.0")
public class UserServiceImpl implements UserService {public User getUser(String uid){User hejiawang = new User(uid,"hejiawang");return hejiawang;}
}

3.添加UserServiceImpl2

使用@DubboService并且指定版本

@DubboService(version = "2.0")
public class UserServiceImpl2 implements UserService {public User getUser(String uid){User hejiawang = new User(uid,"hejiawang");return hejiawang;}
}

4.在启动类中添加@EnableDubbo

@SpringBootApplication
@EnableDubbo
public class ConsumerApplication {public static void main(String[] args) {SpringApplication.run(ConsumerApplication.class, args);}}

Consumer

1.pom中添加依赖

		<dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>3.0.7</version></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-rpc-dubbo</artifactId><version>3.0.7</version></dependency><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-registry-zookeeper</artifactId><version>3.0.7</version></dependency><dependency><groupId>com.hejiawang</groupId><artifactId>common</artifactId><version>0.0.1-SNAPSHOT</version><scope>compile</scope></dependency>

2.添加OrderService

OrderService

@Service
public class OrderService {@DubboReference(version = "1.0")private UserService userService;public User getOrderService(String uid){return userService.getUser(uid);}
}

3.添加OrderController

OrderController

@RestController
public class OrderController {@AutowiredOrderService orderService;@GetMapping("/user/{uid}")public User getUser(@PathVariable("uid") String uid) {return orderService.getOrderService(uid);}
}

4.启动类添加@EnableDubbo

@SpringBootApplication
@EnableDubbo
public class ConsumerApplication {public static void main(String[] args) {SpringApplication.run(ConsumerApplication.class, args);}}

测试

1.启动本地zk

在这里插入图片描述

2.启动provider,consumer

在这里插入图片描述

3.调用consumer服务的controller

localhost:8081/user/123

通过dubbo返回结果
在这里插入图片描述

4.通过zkweb查看provider UserService有2个版本并且1.0版本有消费者

在这里插入图片描述

http://www.lryc.cn/news/116567.html

相关文章:

  • 源码分析——ConcurrentHashMap源码+底层数据结构分析
  • R语言中的函数25:paste,paste0
  • (八)穿越多媒体奇境:探索Streamlit的图像、音频与视频魔法
  • CAD练习——绘制房子平面图
  • spring 面试题
  • Springboot项目集成Durid数据源和P6Spy以及dbType not support问题
  • 安卓如何卸载应用
  • 【云原生|Kubernetes】14-DaemonSet资源控制器详解
  • 基于 Guava Retry 在Spring封装一个重试功能
  • 适用HarmonyOS 3.1版本及以上的应用及服务开发工具 DevEco Studio 3.1.1 Release 安装
  • [信号与系统系列] 正弦振幅调制之差拍信号
  • vb+SQL航空公司管理系统设计与实现
  • python爬取网页视频
  • 数据挖掘具体步骤
  • react class与hooks区别
  • Python爬虫思维:异常处理与日志记录
  • (十六)大数据实战——安装使用mysql版的hive服务
  • 【信号生成器】从 Excel 数据文件创建 Simulink 信号生成器块研究(Simulink)
  • 【UE4 RTS】01-Camera SetUp
  • Mirror网络库 | 说明
  • 分布式异步任务处理组件(九)
  • [excel]vlookup函数对相同的ip进行关联
  • 两个状态的马尔可夫链
  • SpringBoot 依赖管理
  • 重试框架入门:Spring-RetryGuava-Retry
  • [QCM6125][Android13] 修复PRODUCT_COPY_FILES无法拷贝so
  • 微服务Eureka注册中心
  • Java:企业级java后端开发,需要掌握哪些内容
  • 使用Go语言生成Excel任务表依赖图(Markdown文件mermaid图)
  • C语言和C++的区别在哪?如何自学C++?