Java Kotlin CSS Groovy HTML AspectJ
Switch branches/tags
Latest commit f6e7fef Aug 19, 2017 @snicoll snicoll Polish
Failed to load latest commit information.
.settings/gradle Remove spring-asm and inline ASM 4 into spring-core Aug 9, 2012
buildSrc/src/main Fix MergePlugin transitive dependencies Aug 31, 2016
gradle Upgrade to Gradle 4.1 Aug 8, 2017
spring-aop/src Resolve remaining nullability warnings Aug 17, 2017
spring-aspects Consistent use of @Nullable in spring-test Jun 8, 2017
spring-beans-groovy/src/main Consistent use of @Nullable across the codebase (even for internals) Jun 7, 2017
spring-beans/src Consistent overriding for all variants of init/destroy method inherit… Aug 17, 2017
spring-context-indexer/src Polish Jul 19, 2017
spring-context-support/src Fix overridden methods nullability Aug 17, 2017
spring-context Polish Aug 19, 2017
spring-core/src Fix overridden methods nullability Aug 17, 2017
spring-expression Fix overridden methods nullability Aug 17, 2017
spring-framework-bom Add link to docs Aug 16, 2015
spring-instrument/src Introduce log4j 2 for Spring's test suite Jul 5, 2016
spring-jcl/src/main/java/org/apache/commons/logging Overridable Commons Logging bridge in separate spring-jcl jar May 3, 2017
spring-jdbc/src Polish Aug 19, 2017
spring-jms/src Resolve remaining nullability warnings Aug 17, 2017
spring-messaging/src Polish Aug 19, 2017
spring-orm/src Fix overridden methods nullability Aug 17, 2017
spring-oxm Make getters and setters null-safety consistent Jul 19, 2017
spring-test Fix overridden methods nullability Aug 17, 2017
spring-tx/src Enforce non-null value from getBean and at injection points Aug 17, 2017
spring-web/src Polish Aug 19, 2017
spring-webflux/src Polish Aug 19, 2017
spring-webmvc/src Polish Aug 19, 2017
spring-websocket/src Fix overridden methods nullability Aug 17, 2017
src Update docs on DispatcherServlet config and processing Aug 18, 2017
.editorconfig Add EditorConfig Jun 12, 2017
.gitignore Reorganize spring-web-reactive .gitignore Jul 18, 2016
.mailmap Change to Oct 5, 2014
CODE_OF_CONDUCT.adoc Add Code of Conduct Feb 1, 2016
CONTRIBUTING-DOCUMENTATION.adoc Hard-wrap CONTRIBUTING-DOCUMENTATION at 90 chars Jan 10, 2014 Update example copyright dates Jan 21, 2017 Update Sep 7, 2016
build.gradle Build and test against JPA 2.2 and EclipseLink 2.7 (while retaining c… Aug 17, 2017 Next Development Version Jul 4, 2016
gradlew Upgrade to Gradle 4.1 Aug 8, 2017
gradlew.bat Upgrade build to Gradle 3.0 Aug 15, 2016
import-into-eclipse.bat Add --no-daemon to Gradle import Apr 15, 2016 Add --no-daemon to Gradle import Apr 15, 2016 Polish May 29, 2017
settings.gradle Overridable Commons Logging bridge in separate spring-jcl jar May 3, 2017

Spring Framework

The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications -- on any kind of deployment platform. A key element of Spring is infrastructural support at the application level: Spring focuses on the "plumbing" of enterprise applications so that teams can focus on application-level business logic, without unnecessary ties to specific deployment environments.

The framework also serves as the foundation for Spring Integration, Spring Batch and the rest of the Spring family of projects. Browse the repositories under the Spring organization on GitHub for a full list.

Code of Conduct

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to

Downloading Artifacts

See downloading Spring artifacts for Maven repository information. Unable to use Maven or other transitive dependency management tools? See building a distribution with dependencies.


See the current Javadoc and reference docs.

Getting Support

Check out the spring tags on Stack Overflow. Commercial support is available too.

Issue Tracking

Report issues via the Spring Framework JIRA. Understand our issue management process by reading about the lifecycle of an issue. Think you've found a bug? Please consider submitting a reproduction project via the spring-framework-issues GitHub repository. The readme there provides simple step-by-step instructions.

Building from Source

The Spring Framework uses a Gradle-based build system. In the instructions below, ./gradlew is invoked from the root of the source tree and serves as a cross-platform, self-contained bootstrap mechanism for the build.


Git and JDK 8 update 20 or later

Be sure that your JAVA_HOME environment variable points to the jdk1.8.0 folder extracted from the JDK download.

Check out sources

git clone

Import sources into your IDE

Run ./ or read as appropriate.

Note: Per the prerequisites above, ensure that you have JDK 8 configured properly in your IDE.

Install all spring-* jars into your local Maven cache

./gradlew install

Compile and test; build all jars, distribution zips, and docs

./gradlew build

... and discover more commands with ./gradlew tasks. See also the Gradle build and release FAQ.


Pull requests are welcome; see the contributor guidelines for details.

Staying in Touch

Follow @SpringCentral as well as @SpringFramework and its team members on Twitter. In-depth articles can be found at The Spring Blog, and releases are announced via our news feed.


The Spring Framework is released under version 2.0 of the Apache License.