核心技术
本参考文档的这一部分涵盖了所有对Spring框架来说绝对不可或缺的技术。
其中最重要的是Spring框架的控制反转(IoC)容器。在全面介绍Spring框架的IoC容器之后,接下来会详细讲解Spring的面向切面编程(AOP)技术。Spring框架拥有自己独立的AOP框架,该框架在概念上易于理解,并且成功满足了Java企业编程中80%的AOP需求。
还提供了关于Spring与AspectJ集成的介绍(从功能角度来看,AspectJ是目前Java企业领域中最丰富、也最成熟的AOP实现)。
AOT(Ahead-Of-Time)处理可以用于提前优化您的应用程序。它通常用于使用GraalVM进行本机镜像部署。
部分总结
🗃️ IoC 容器
16 个项目
📄️ 资源
本章介绍了Spring如何处理资源,以及如何在Spring中操作资源。它包括以下主题:
🗃️ 验证、数据绑定和类型转换
7 个项目
🗃️ Spring 表达式语言 (SpEL)
4 个项目
🗃️ 基于Spring的切面编程
11 个项目
🗃️ Spring AOP APIs
10 个项目
📄️ 弹性特性
从7.0版本开始,核心Spring框架包含了常见的弹性恢复特性,特别是用于方法调用的@Retryable和@ConcurrencyLimit注释,以及编程式的重试支持。
📄️ 空值安全性(Null-safety)
尽管Java的类型系统目前还不支持表达空值标记,但Spring Framework的代码库中使用了JSpecify注释来声明其API、字段及相关类型使用的可空性。为了熟悉这些注释及其语义,强烈建议阅读JSpecify用户指南。
📄️ 数据缓冲区和编解码器
Java NIO提供了ByteBuffer,但许多库在其基础上构建了自己的字节缓冲区API,尤其是在网络操作中,重新使用缓冲区和/或使用直接缓冲区对性能有益。例如,Netty有ByteBuf层次结构,Jetty使用带回调的池化字节缓冲区以便释放,等等。spring-core模块提供了一组抽象,以便与各种字节缓冲区API一起工作,具体如下:
📄️ 提前优化
本章介绍了Spring的“提前编译(AOT)”优化技术。
🗃️ 附录
3 个项目