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

dubbo-helloworld示例

1、工程架构

在这里插入图片描述

2、创建模块

(1)创建父工程,引入公共依赖
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

pom.xml依赖

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>com.alibaba.boot</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>0.2.0</version></dependency>
</dependencies>

(2)创建common:公共接口模块(model,service,exception…)
在这里插入图片描述
在这里插入图片描述

作用:定义公共接口,也可以导入公共依赖

public interface UserService {public String sayHello(String name);
}

(3)创建dubbo_provider子模块:生产者模块(对用户接口的实现)
在这里插入图片描述
在这里插入图片描述

1)pom.xml

<dependencies><dependency><groupId>com.atguigu</groupId><artifactId>common</artifactId><version>0.0.1-SNAPSHOT</version></dependency>
</dependencies>

2)Service

import com.alibaba.dubbo.config.annotation.Service;
import com.atguigu.common.UserService;
import org.springframework.stereotype.Component;@Service //这个注解是dubbo的注解,表示对外暴露可以调用的接口
public class UserServiceImpl implements UserService {public String sayHello(String name) {return "hello:"+name;}
}

3)创建启动类

@EnableDubbo  //这个注解表示开启dubbo的注解扫描
@SpringBootApplication
public class ProApplication {public static void main(String[] args) {SpringApplication.run(ProApplication.class, args);}
}

4)创建application.properties

dubbo.application.name=service-provide
dubbo.registry.address=192.168.200.130:2181
#dubbo.registry.address=zookeeper://192.168.200.130:2191?backup=192.168.200.130:2192,192.168.200.130:2193dubbo.registry.protocol=zookeeperdubbo.protocol.name=dubbo
dubbo.protocol.port=20881

(4)创建dubbo_consumer子模块:消费者模块(调用生产者模块)
在这里插入图片描述

1)pom.xml

<dependencies><dependency><groupId>com.atguigu</groupId><artifactId>common</artifactId><version>0.0.1-SNAPSHOT</version></dependency>
</dependencies>

2)创建controller,调用生产者

@RestController
@RequestMapping("/user")
public class UserController {@Reference  //这个注解表示远程调用dubboprivate UserService userService;@GetMapping("{name}")public String getData(@PathVariable String name) {String value = userService.sayHello(name);return value;}
}

3)创建启动类

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

4)创建application.properties配置文件

server.port=8081
dubbo.application.name=boot-order-service-consumer
dubbo.registry.address=zookeeper://192.168.200.130:2181
#dubbo.registry.address=zookeeper://192.168.200.129:2191?backup=192.168.200.129:2192,192.168.200.129:2193

(5)测试
1)启动注册中心
2)启动生产者服务
3)启动消费者服务
4)服务消费者服务中的controller看结果

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

相关文章:

  • 电脑ADB连接手机的方式通过网络无法adb连接手机的问题(已解决)
  • 79 | Python数据分析篇 —— Pandas中groupby聚合操作和透视表基础
  • iOS 搭建组件化私有库
  • 迅为全国产龙芯3A5000电脑运行统信UOS、银河麒麟、loongnix系统
  • 枫叶时代:打造中国特色的传统文化IP
  • 一条sql语句在mysql中如何执行(查询+更新)
  • 漫画 | TCP/IP之大明邮差
  • Zookeeper和Nacos的区别
  • O3DE的Pass
  • 如何建立含有逻辑删除字段的唯一索引
  • C语言基础知识点一
  • Python 潮流周刊#14:Lpython 高性能编译器、Python 与 JavaScript 实现互通
  • JVM深入 —— JVM的体系架构
  • dialog => :before-close的属性应用
  • <van-empty description=““ /> 滚动条bug
  • 使用swiper实现图片轮播功能
  • Qt应用开发(基础篇)——时间类 QDateTime、QDate、QTime
  • Modbus TCP转Profinet网关modbus tcp转以太网
  • 笔记 | P4387 【深基15.习9】验证栈序列 题解
  • PyTorch中nn-XXX与F-XXX的区别
  • zookeeper集群和kafka的相关概念就部署
  • 第4集丨Vue 江湖 —— 计算属性
  • Docker 容器化学习
  • springboot第34集:ES 搜索,nginx
  • 微信小程序中的分包使用介绍
  • 【云原生】K8S二进制搭建二:部署CNI网络组件
  • 【iOS】—— 离屏渲染
  • 基于人工智能的中医图像分类系统设计与实现
  • spring security + oauth2 使用RedisTokenStore 以json格式存储
  • css position: sticky;实现上下粘性布局,中间区域滚动