前言

记录一个非常简单的远程调用方式,在spring cloud微服务中,服务之间时如何进行调用的?在学习通过服务名调用方式之前,先学一种非常简单的调用方式,那就是通过url进行调用,此url为ip+端口号+地址的方式

使用

spring提供了工具RestTemplate,在每次进行调用时需要new一个RestTemplate对象,然后进行调用接口,在spring cloud中,可以在启动类中注册RestTemplate对象,在后面的代码中直接注入即可,无需new对象。

在启动类中添加代码:

 1 package priv.sinoam.demoorder;
2
3 import org.springframework.boot.SpringApplication;
4 import org.springframework.boot.autoconfigure.SpringBootApplication;
5 import org.springframework.context.annotation.Bean;
6 import org.springframework.web.client.RestTemplate;
7
8 /**
9 * @author 龙谷情
10 */
11 @SpringBootApplication
12 public class DemoOrderApplication {
13
14 public static void main(String[] args) {
15 SpringApplication.run(DemoOrderApplication.class, args);
16 }
17
18 /**
19 * 创建RestTemplate并注入Spring容器
20 * @return
21 */
22 @Bean
23 public RestTemplate restTemplate(){
24 return new RestTemplate();
25 }
26
27 }

调用时如此调用即可:

 1     @Autowired
2 private RestTemplate restTemplate;
3 public Map<String, Object> test1() {
4 DemoOrderInfo demoOrderInfo = demoOrderInfoDao.selectById(1);
5 Map<String, Object> map = new HashMap<>(16);
6 map.put("order", demoOrderInfo);
7 //调用demo-user里面的请求
8 String url = "http://localhost:9001/demouser/user/test";
9 Map<String, Object> map2 = restTemplate.getForObject(url, Map.class);
10 map.put("user", map2);
11 return map;
12 }

本次实验在order服务中调用user接口。第9行可根据需要的类型进行修改,本次使用Map类型。

结束

一次非常简单的记录,时间少,就少记录一点。下面学习记录Eureka服务

学习spring cloud记录3-服务远程调用的更多相关文章

  1. 基于Spring Boot和Spring Cloud实现微服务架构学习

    转载自:http://blog.csdn.net/enweitech/article/details/52582918 看了几周Spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习感 ...

  2. 基于Spring Boot和Spring Cloud实现微服务架构学习--转

    原文地址:http://blog.csdn.net/enweitech/article/details/52582918 看了几周spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习 ...

  3. 【微服务】使用spring cloud搭建微服务框架,整理学习资料

    写在前面 使用spring cloud搭建微服务框架,是我最近最主要的工作之一,一开始我使用bubbo加zookeeper制作了一个基于dubbo的微服务框架,然后被架构师否了,架构师曰:此物过时.随 ...

  4. Spring Boot 2 整合 Dubbo 框架 ,实现 RPC 服务远程调用

    一.Dubbo框架简介 1.框架依赖   图例说明: 1)图中小方块 Protocol, Cluster, Proxy, Service, Container, Registry, Monitor 代 ...

  5. 使用Spring Cloud连接不同服务

    http://www.infoq.com/cn/articles/spring-cloud-service-wiring 主要结论 Spring Cloud为微服务系统中相互依赖的服务提供了丰富的连接 ...

  6. Spring Cloud与微服务构建:Spring Cloud简介

    Spring Cloud简介 微服务因该具备的功能 微服务可以拆分为"微"和"服务"二字."微"即小的意思,那到底多小才算"微&q ...

  7. 基于Spring Boot和Spring Cloud实现微服务架构

    官网的技术导读真的描述的很详细,虽然对于我们看英文很费劲,但如果英文不是很差,请选择沉下心去读,你一定能收获好多.我的学习是先从Spring boot开始的,然后接触到微服务架构,当然,这一切最大的启 ...

  8. Spring Cloud分布式微服务云架构集成项目

    Spring Cloud集成项目有很多,下面我们列举一下和Spring Cloud相关的优秀项目,我们的企业架构中用到了很多的优秀项目,说白了,也是站在巨人的肩膀上去整合的.在学习Spring Clo ...

  9. Spring Cloud Alibaba微服务一站式解决方案-开篇v2.2.1.RELEASE

    学习路线 **本人博客网站 **IT小神 www.itxiaoshen.com 生态概述 架构演进 什么是微服务 https://martinfowler.com/microservices/ Mic ...

  10. Spring Cloud构建微服务架构(一)服务注册与发现

    Spring Cloud简介 Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理.服务发现.断路器.智能路由.微代理.控制总线.全局锁 ...

随机推荐

  1. Docker安装及使用,Docker 安装MySQL、安装Tomcat、安装RabbitMQ

    CentOS7安装Docker Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经 ...

  2. DelayQueue的take方法底层原理

    一.DelayQueue的take()方法底层原理 DelayQueue 的 take 方法是其核心方法之一,用于从队列中获取并移除延迟时间到期的元素.如果队列为空或没有延迟到期的元素,调用 take ...

  3. vscode 远程(隧道/ssh) remote 开发 linux 显示远程桌面GUI 配置 SSH X11 服务

    原文地址 https://www.cnblogs.com/Bubgit/p/18829192 实现效果 windows显示ubuntu 的 GUI 桌面显示内容, 以wails 项目为例 搭建远程li ...

  4. 使用Tortoise-ORM和FastAPI构建评论系统

    title: 使用Tortoise-ORM和FastAPI构建评论系统 date: 2025/04/25 21:37:36 updated: 2025/04/25 21:37:36 author: c ...

  5. 使用DVC管理大文件变更历史(基于git)

    DVC(Data Version Control) 是一个专门用于管理数据和二进制文件版本控制 的工具,它特别适合那些需要处理大量非文本文件(如图像.视频.模型.数据集等)的项目. 一般地,如果项目中 ...

  6. 15.4K Star!Vercel官方出品,零基础构建企业级AI聊天机器人

    嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 "基于Next.js 14和AI SDK打造的Chat SDK,让开发者快速构建支 ...

  7. 【笔记】Excel 2021|(二)VBA删除数组中的一个元素、循环时删除一行、选择一列删除指定一行

    主要问题是循环的时候删除一行比较麻烦,因为删除了一行后,循环仍然直接访问后一行,会导致一定的异常. 文章目录 选择一列,删除指定一行 删除数组中的一个元素 方法1:利用动态数组,在循环中条件判断删除 ...

  8. Flex布局-margin 妙用技巧

    在 flex 布局 中, 通过对子项设置 margin-auto; 的方式去吃掉剩余空间, 这种小技巧在很多时候能极大简化我们的布局哦. 单元素水平垂直居中 如果父容器是 flex, 要实现元素水平垂 ...

  9. Vim-从放弃到入门

    初识Vim Vim被称为神一样的编译器,人类历史上最好文本编辑器(^_^).学习成本很高,学习路线陡峭.下面列举一些入门的教程: 慕课网-玩转Vim 从放弃到爱不释手 新手必看 Vim实用技巧(第2版 ...

  10. 操作系统 -- SLAB如何分配内存

    在Linux系统中比页更小的内存对象要怎么分配呢? -- SLAB,学习下SLAB分配器的原理和实现 SLAB 与Cosmos物理页面管理器一样,Linux中的伙伴系统是以页面为最小单位分配到,现实更 ...