Spring框架最早出现于2003年,以轻量级为Java企业应用开发提供了JavaEE之外的另一个选择。Spring框架就是一个辅助开发Java企业应用的框架。
Spring框架的最新版本是5.0,主要新特性如下:
- 最低要求Java 8,兼容Java 9
- 最低要求JavaEE 7,兼容JavaEE 8(Servlet 4.0)
- 支持WebFlux应用,无需Servlet容器即可运行(在Netty服务器中)
作为一款Java企业应用的开发框架,Spring框架首先提供了能够将应用发布为Web服务的服务端代码。与此同时,为了便于Web服务之间的调用,Spring框架还提供了调用Web服务的客户端代码。这主要是通过Spring框架的spring-web模块实现,此外spring-ws项目也提供了REST服务相关的实现。
1. spring-web模块
1.1 HTTP相关
客户端方面,集成了如下HTTP客户端实现:
- 基于HttpURLConnection的SimpleBufferingClientHttpRequest和SimpleStreamingClientHttpRequest,不支持HTTP2
- 基于OkHttpClient的OkHttp3ClientHttpRequest,支持HTTP2
- 基于Apache HttpComponents HttpClient的HttpComponentsClientHttpRequest和HttpComponentsStreamingClientHttpRequest,不支持HTTP2
- 基于Netty HttpClient