스프링 프레임워크는 엔터프라이즈급 애플리케이션을 만들기 위한 경량솔루션이며 많은 기능을 제공한다. 하지만 스프링은 모듈화되어 있어서 모든 전체를 사용하는 대신에 필요한 부분만 가져다 사용할 수 있다. 상위에 어떤 웹 프레임워크의 IoC 컨테이너를 사용하면서, 하이버네이트 통합 코드나 JDBC 추상 계층만을 사용하는 것도 가능하다. 스프링 프레임워크는 RMI나 웹서비스로 로직에 원격접근하는 선언적 트랜잭션 관리와 영속 데이터를 유지하는 다양한 옵션을 지원한다. 모든 기능을 갖춘 MVC 프레임워크를 제공하며 당신의 소프트웨어에 투명하게 AOP를 통합할 수 있다.
스프링은 비침투적이다. 이 말은 도메인 로직 코드가 일반적으로 프레임워크에 의존적이지 않다는 의미이다. 데이터 접근 계층(DAO) 같은 통합 계층에서 데이터 접근 기술과 스프링 라이브러리에 대한 의존성이 존재한다. 하지만 당신의 다른 코드들로부터 이러한 의존성을 쉽게 제거할 수 있다.
이 문서는 스프링 프레임워크의 기능들에 대한 레퍼런스 가이드이다. 이 문서에 대한 어떤 요청이나 의견, 질문이 있다면 사용자 메일링 리스트에 그것들을 남겨주시길 바란다. 프레임워크 자체에 대한 질문들은 StackOverflow에 요청하여 주십시오(참고 https://spring.io/questions).