Open-Source Wikis

/

Spring Framework

/

Spring Framework

spring-projects/spring-framework

Spring Framework

Spring Framework is the foundation of the Spring portfolio: a collection of Java/Kotlin libraries that provide an Inversion of Control (IoC) container, aspect-oriented programming, data access abstractions, transaction management, and two web stacks (Servlet-based MVC and reactive WebFlux). It targets the JVM, ships as a multi-module Gradle build, and is published to Maven Central as org.springframework:*.

This wiki documents the codebase as it exists on the main branch (currently version 7.1.0-SNAPSHOT). It is generated from the source tree and aims to help engineers find their way around 20+ modules, ~9,000 Java source files, and roughly 2,800 test classes.

What it is and what it isn't

Spring Framework is a library set, not an application. It does not run on its own. Instead, your application embeds it as a dependency and lets the framework wire your beans, manage transactions, render web responses, or marshal messages. The framework is the runtime foundation; popular projects like Spring Boot, Spring Security, Spring Data, and Spring Cloud build on top of it.

Who uses it

Java/Kotlin teams writing server-side applications. The most common entry points are:

  • Web applications using Spring MVC (spring-webmvc) on Servlet containers like Tomcat or Jetty
  • Reactive web applications using Spring WebFlux (spring-webflux) on Netty, Undertow, or Servlet 5+
  • Batch and integration jobs that use the IoC container and transaction management
  • Message-driven applications using JMS, AMQP (via Spring AMQP), or STOMP over WebSocket
  • Test code using spring-test for @SpringBootTest-style integration testing

Repository layout at a glance

Directory What's there
spring-core/ Utilities, type system, resource abstraction, AOT support
spring-beans/ The bean factory and bean definition machinery
spring-context/ ApplicationContext, annotation-driven configuration, events, scheduling
spring-aop/, spring-aspects/ Proxy-based AOP and AspectJ integration
spring-expression/ Spring Expression Language (SpEL)
spring-jdbc/, spring-tx/, spring-orm/ Data access: JDBC, transaction management, JPA/Hibernate integration
spring-r2dbc/ Reactive R2DBC support
spring-web/, spring-webmvc/ Servlet stack: web utilities and the MVC framework
spring-webflux/ Reactive web framework
spring-websocket/, spring-messaging/ WebSocket, STOMP, messaging abstractions
spring-jms/ JMS support and listener container
spring-oxm/ Object/XML marshalling
spring-test/ The TestContext framework
spring-context-support/ Quartz, JavaMail, mail, cache providers
spring-context-indexer/ Compile-time component index for faster classpath scanning
spring-instrument/ JVM agent for class instrumentation (LTW)
spring-core-test/ Internal test helpers used by other modules
framework-bom/, framework-platform/ Bill of Materials and dependency platform
framework-api/, framework-docs/ Aggregated Javadoc and reference documentation (Antora/Asciidoctor)
integration-tests/ Cross-module end-to-end tests
  • Architecture — module dependency graph and how the pieces fit together
  • Getting started — JDK requirements, building from source, running tests
  • Glossary — IoC, ApplicationContext, AOP and other core terms

For module-by-module deep dives see modules/. For cross-cutting capabilities (DI, AOP, data access, reactive stack) see features/.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Spring Framework – Spring Framework wiki | Factory