The Spring Framework is a lightweight solution and a potential one-stop-shop for building your enterprise-ready applications. However, Spring is modular, allowing you to use only those parts that you need, without having to bring in the rest. You can use the IoC container, with any web framework on top, but you can also use only the Hibernate integration code or the JDBC abstraction layer. The Spring Framework supports declarative transaction management, remote access to your logic through RMI or web services, and various options for persisting your data. It offers full-featured web frameworks such as Spring MVC and Spring WebFlux; and it enables you to integrate AOP transparently into your software.
This document is a reference guide to Spring Framework features. Questions on the Framework itself should be asked on StackOverflow (see https://spring.io/questions).
This reference document provides the following sections: