스프링 프레임워크(Spring framework), 줄여서 스프링은 자바 생태계 일부인 애플리케이션 프레임워크다. 애플리케이션 프레임워크(application framework)는 애플리케이션을 개발하는 기본 구조를 제공하는 공통 소프트웨어 기능의 집합이다. 또 애플리케이션 프레임워크는 모든 프로그램 코드를 맨 처음부터 작성하는 수고를 덜어 주어 수월하게 애플리케이션을 구현하게 한다.
오늘날 대규모 백엔드 솔루션에서 자동화 테스트 앱까지 다양한 종류의 애플리케이션을 개발할 때 스프링을 사용한다. 자바 기술과 관련된 많은 설문 조사 보고서(2020년 JRebel 조사: http://mng.bz/N4V7, JAXEnter 조사: http://mng.bz/DK9a)에 따르면 스프링은 현재 가장 많이 사용하는 자바 프레임워크다.
스프링이 인기를 끌면서 개발자는 자바 외 다른 JVM 언어에서도 스프링을 더 자주 사용하기 시작했다. 우리는 지난 몇 년 동안 코틀린(Kotlin: JVM 제품군에서 높이 평가되는 언어 중 하나)과 함께 스프링을 사용하는 개발자가 괄목할 만한 성장을 이루는 것을 목격했다. 이 책에서는 스프링 기본에 집중하며 실사례에 스프링을 사용할 수 있는 필수 기술을 가르칠 것이다. 따라서 이 주제에 더 친숙하고 스프링에 집중할 수 있도록 자바로 작성한 예제만 사용한다. 책 전반에서 데이터베이스 연결, 애플리케이션 간 통신 설정, 앱의 보안 및 테스트 등 필수 기술을 예제와 함께 논의하고 적용해 볼 것이다.