本文共 1956 字,大约阅读时间需要 6 分钟。
Spring框架最早出现于2003年,以轻量级为Java企业应用开发提供了JavaEE之外的另一个选择。Spring框架就是一个辅助开发Java企业应用的框架。
Spring框架的最新版本是5.0,主要新特性如下:
作为一款Java企业应用的开发框架,Spring框架首先提供了能够将应用发布为Web服务的服务端代码。与此同时,为了便于Web服务之间的调用,Spring框架还提供了调用Web服务的客户端代码。这主要是通过Spring框架的spring-web模块实现,此外spring-ws项目也提供了REST服务相关的实现。
1. spring-web模块
1.1 HTTP相关
客户端方面,集成了如下HTTP客户端实现:
服务端方面,集成任何Servlet 3.1容器实现。
1.2 Web相关
客户端方面,提供了统一的RestTemplate类,该类底层默认采用基于HttpURLConnection的请求与响应,也可以采用基于其他HTTP客户端的实现。RestTemplate类的用法详解后续文章。
服务端方面,集成任何Servlet 3.1容器实现,如Undertow, Tomcat, Jetty, Netty。但是还不支持Servlet 4,所以对HTTP2的支持还依赖容器的各自实现。
1.3 Remoting相关
2. spring-web相关其他web模块
Spring框架提供基于Servlet的MVC实现。
Spring框架5.0的新特性,提供基于Reactor的服务实现,应用无需Servlet容器即可运行在Netty服务器上。目前不支持HTTP2。
WebClient接口(默认实现类DefaultWebClient)是spring-webflux模块提供的响应式REST请求客户端,使用非阻塞式IO,适合高并发、流式处理场景。WebClient的用法详解后续文章。
Spring框架提供的Web Socket实现。
3. spring-ws项目
首先需要明确,spring-ws项目不属于Spring框架,而是与Spring框架并列的项目。
项目中提供的WebServiceTemplate类,是一款能够以XML消息的方式调用Web服务的客户端。其底层传输可以使用HTTP, JMS, EMAIL, XMPP等。与RestTemplate类似,WebServiceTemplate的底层默认采用基于HttpURLConnection的HttpUrlConnectionMessageSender发送消息,也可以采用基于Apache HttpComponents HttpClient的HttpComponentsMessageSender发送消息。WebServiceTemplate类的用法详解后续文章。
参考链接:
https://docs.spring.io/spring/docs/current/spring-framework-reference/index.html
https://github.com/spring-projects/spring-frameworkhttps://github.com/spring-projects/spring-wshttps://docs.spring.io/spring-ws/docs/3.0.1.RELEASE/reference/#client-web-service-template转载地址:http://xmlai.baihongyu.com/