一、概述

Spring Cloud是Spring旗下的项目之一,官网地址:http://projects.spring.io/spring-cloud/

Spring Cloud将现在非常流行的一些技术整合到一起,实现了诸如:
配置管理,服务发现,智能路由,负载均衡,熔断器,控制总线,集群状态等功能;协调分布式环境中各个系统,为各类服务提供模板性配置。

其主要涉及的组件包括:

  • Eureka:注册中心
  • Zuul、Gateway:服务网关
  • Ribbon:负载均衡
  • Feign:服务调用
  • Hystrix或Resilience4j:熔断器

以上只是其中一部分,架构图:
image.png

Spring Cloud不是一个组件,而是许多组件的集合

二、Spring RestTemplate示例工程导入

HTTP客户端工具:

  • HttpClient
  • OKHttp
  • URLConnection

这些不同的客户端,API各不相同。而Spring也有对http的客户端进行封装,提供了工具类叫RestTemplate

Spring提供了一种简单便捷的模板类 RestTemplate 来调用 RESTful 接口。它提供了多种便捷访问HTTP服务的方法,能够大大提高客户端的编写效率。

RestTemplate并没有限定Http的客户端类型,而是进行了抽象,目前常用的3种都有支持:

  • HttpClient
  • OkHttp
  • JDK原生的URLConnection(默认的)
  1. @RunWith(SpringRunner.class)
  2. @SpringBootTest
  3. public class RestTemplateTest {
  4. @Autowired
  5. private RestTemplate restTemplate;
  6. @Test
  7. public void test () {
  8. //如果要测试需要启动spring boot项目,以便获取数据
  9. String url = "http://1ocalhost/user/8";
  10. User user = restTemplate.getForObject(url, User.class);
  11. System.out.println(user);
  12. }
  13. }