spring-projects/spring-framework
Modules
Spring Framework is published as ~22 separately versioned JARs, each corresponding to a spring-* directory in this repository. Applications depend only on the modules they need; transitive dependencies pull in the rest.
This section documents each published module: its purpose, its key abstractions, and where to look in the code.
Module catalog
Foundation
- spring-core — Utilities, Resource abstraction, Environment, type system, AOT primitives
- spring-beans —
BeanDefinition,BeanFactory, property-binding machinery - spring-aop — Proxy-based AOP (JDK + CGLIB)
- spring-aspects — AspectJ-woven aspects for
@Transactional,@Async,@Cacheable - spring-expression — Spring Expression Language (SpEL)
- spring-context —
ApplicationContext, annotation-driven configuration, events, scheduling, validation - spring-context-support — Quartz, JavaMail, cache providers
- spring-context-indexer — Compile-time component index
- spring-instrument — JVM agent for class instrumentation (LTW)
Data access
- spring-jdbc —
JdbcTemplate,DataSourceutilities, exception translation - spring-tx — Transaction management abstraction (
PlatformTransactionManager,@Transactional) - spring-orm — JPA / Hibernate / iBatis (legacy) integration
- spring-r2dbc — Reactive R2DBC integration
- spring-oxm — Object/XML marshalling (JAXB, others)
Web
- spring-web — HTTP primitives shared by both web stacks
- spring-webmvc — Servlet-based MVC framework
- spring-webflux — Reactive web framework
- spring-websocket — WebSocket and STOMP support
Messaging
- spring-messaging — Generic messaging abstraction (used by JMS, AMQP, STOMP)
- spring-jms — JMS support and listener container
Test
- spring-test — TestContext framework, MockMvc, WebTestClient, Servlet/Reactive mocks
- spring-core-test — Test helpers consumed by other framework modules
Aggregates and platform (framework-*)
The framework-* directories are not published as code modules but support packaging and documentation:
framework-api— Aggregated multi-module Javadoc (./gradlew :framework-api:javadoc)framework-bom— Bill of Materials (Maven BOM) constraining allorg.springframework:*versionsframework-docs— Reference documentation source (Asciidoctor + Antora)framework-platform— Gradle-style enforced platform for transitive dependency management
Cross-module relationships
For a visual of how modules depend on each other, see overview/architecture. For cross-cutting features that span multiple modules, see features/.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.