Spring 起源于 2003 年,它作为 Java EE 平台规范的补充,而不是完全拥抱 specification。

Spring 可以指的是 entire family of projects。也可以单指 Spring Framework(换言之,Spring Framework 本身也只是 family 的一部分)。

Spring Framework 被模块化了,它的核心只包括 core container(主要解决依赖注入问题)。但是针对不同的应用架构,它提供不同的支持,包括 messaging、transactionl、persistence 和 web。这些模块原本命名为 “spring-core” 和 “spring-context”,在 Java 9 的 jigsaw 项目来临之时,也开始支持 module path,生成“自动模块名”清单项,并且定义语言级别的模块名,如”spring.core”、”spring.context”。

Spring 支持的 JSR 有:

  • Servlet API (JSR 340)
  • WebSocket API (JSR 356)
  • Concurrency Utilities (JSR 236)
  • JSON Binding API (JSR 367)
  • Bean Validation (JSR 303)
  • JPA (JSR 338)
  • JMS (JSR 914)
  • TA/JCA setups for transaction coordination
  • Dependency Injection (JSR 330)
  • Common Annotations (JSR 250)

spring-framework-architecture
spring-modules
spring-modules.xmind