本文涵盖了对基于 响应式流(Reactive Streams)WebClient
、测试 支持,以及 响应式库。
本文涵盖了 Servlet 堆栈支持、WebSocket 消息传递(包括原始 WebSocket 交互)、通过 SockJS 的 WebSocket 模拟以及通过 STOMP 作为 WebSocket 上的子协议的发布-订阅消息传递的内容。
本文的内容涵盖了对构建在 Servlet API 之上并部署到 Servlet 容器的 Servlet 栈 Web 应用程序的支持。
章节包括 Spring MVC、视图技术、CORS 支持等内容。
Spring 框架提供了多种方法来进行数据访问,本文将依次介绍JDBC、R2DBC、ORM、Object-XML等不同的数据访问方式。
# Spring中提供的数据缓冲区和编解码器
Java NIO 提供了 ByteBuffer
,但许多库都在其基础上构建了自己的字节缓冲区 API,尤其是在网络操作中,重用缓冲区和/或使用直接缓冲区对性能有益。
例如,Netty 有 ByteBuf
层次结构,Undertow 使用 XNIO,Jetty 使用带有回调的池化字节缓冲区以进行释放,等等。
spring-core
模块提供了一组抽象,用于处理各种字节缓冲区 API,如下所示:
- DataBufferFactory 抽象了数据缓冲区的创建。
- DataBuffer 表示一个字节缓冲区,它可以是 池化的。
- DataBufferUtils 提供了数据缓冲区的实用方法。
- Codecs 将数据缓冲区流解码或编码为更高级别的对象。