一、概述
Spring Cloud是Spring旗下的项目之一,官网地址:http://projects.spring.io/spring-cloud/
Spring Cloud将现在非常流行的一些技术整合到一起,实现了诸如:
配置管理,服务发现,智能路由,负载均衡,熔断器,控制总线,集群状态等功能;协调分布式环境中各个系统,为各类服务提供模板性配置。
其主要涉及的组件包括:
- Eureka:注册中心
- Zuul、Gateway:服务网关
- Ribbon:负载均衡
- Feign:服务调用
- Hystrix或Resilience4j:熔断器
以上只是其中一部分,架构图:
二、Spring RestTemplate示例工程导入
HTTP客户端工具:
- HttpClient
- OKHttp
- URLConnection
这些不同的客户端,API各不相同。而Spring也有对http的客户端进行封装,提供了工具类叫RestTemplate
Spring提供了一种简单便捷的模板类 RestTemplate 来调用 RESTful 接口。它提供了多种便捷访问HTTP服务的方法,能够大大提高客户端的编写效率。
RestTemplate并没有限定Http的客户端类型,而是进行了抽象,目前常用的3种都有支持:
- HttpClient
- OkHttp
- JDK原生的URLConnection(默认的)
@RunWith(SpringRunner.class)
@SpringBootTest
public class RestTemplateTest {
@Autowired
private RestTemplate restTemplate;
@Test
public void test () {
//如果要测试需要启动spring boot项目,以便获取数据
String url = "http://1ocalhost/user/8";
User user = restTemplate.getForObject(url, User.class);
System.out.println(user);
}
}