Java Kotlin CSS HTML Groovy AspectJ
Switch branches/tags
Failed to load latest commit information.
.settings/gradle Remove spring-asm and inline ASM 4 into spring-core Aug 9, 2012
buildSrc Latest dependency updates (POI 3.17, Rome 1.8, EhCache 3.4, Caffeine … Sep 23, 2017
gradle Upgrade to Gradle 4.2.1 Oct 18, 2017
spring-aop Expose AspectJ 1.8.11 in POMs (and use it for all tests) Sep 26, 2017
spring-aspects Upgrade to AspectJ 1.9 beta 7 (with 1.8.10 exposed in POMs) Sep 25, 2017
spring-beans Upgrade to SnakeYAML 1.19 Oct 18, 2017
spring-context-indexer Build against EE 8 API level wherever possible Sep 24, 2017
spring-context-support Polishing Sep 26, 2017
spring-context AbstractMessageSource properly interacts with non-AbstractMessageSour… Oct 18, 2017
spring-core Polishing Oct 17, 2017
spring-expression Tokenizer uses single process step and length-based exhaustion check Oct 4, 2017
spring-framework-bom Latest dependency updates (POI 3.17, Rome 1.8, EhCache 3.4, Caffeine … Sep 23, 2017
spring-instrument Latest dependency updates (POI 3.17, Rome 1.8, EhCache 3.4, Caffeine … Sep 23, 2017
spring-jcl Latest dependency updates (POI 3.17, Rome 1.8, EhCache 3.4, Caffeine … Sep 23, 2017
spring-jdbc Refined TemporaryLobCreator null handling (from 4.3.x) Sep 27, 2017
spring-jms Refined TemporaryLobCreator null handling (from 4.3.x) Sep 27, 2017
spring-messaging Fix typo in exception message: quite -> quiet Oct 3, 2017
spring-orm Deprecate HibernateJpaSessionFactoryBean (against Hibernate 5.2) Oct 4, 2017
spring-oxm Reinstate CastorUnmarshallerTests.clearCollectionsFalse() Oct 15, 2017
spring-test MockMvc re-uses response instance on async dispatch Oct 17, 2017
spring-tx Delete unused import Oct 15, 2017
spring-web Polishing Oct 18, 2017
spring-webflux Support for Map method argument in WebFlux Oct 18, 2017
spring-webmvc Polishing Oct 18, 2017
spring-websocket Upgrade to Jackson 2.9.2 Oct 16, 2017
src Consistent separation between chapters and after chapter titles Oct 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 Fix doc format Oct 6, 2017 Update example copyright dates Jan 21, 2017 Update Sep 7, 2016
build.gradle Upgrade to Gradle 4.2.1 Oct 18, 2017 Next Development Version Sep 28, 2017
gradlew Upgrade to Gradle 4.1 Aug 8, 2017
gradlew.bat Upgrade build to Gradle 3.0 Aug 15, 2016
import-into-eclipse.bat Update notes in Eclipse import script Aug 29, 2017 Update notes in Eclipse import script Aug 29, 2017 Polish May 29, 2017
settings.gradle Latest dependency updates (POI 3.17, Rome 1.8, EhCache 3.4, Caffeine … Sep 23, 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.