The Spring Framework is a very popular Java application framework, that can be used to build any type of Java application, although it's most commonly used to build web applications.
Spring consists of several modules that will ease the development in areas like dependency injection, i18n, validation, aspect oriented programming, data access, testing, etc.