스프링의 새 버전이 등장할 때마다 이보다 더 나아질 수는 없다고 생각했지만, 매번 스프링 부트는 스프링에는 여전히 놀라운 것이 가득하다고 입증한다. 필자는 자바 개발의 긴 시간 동안 일어난 일 중 가장 중요하고 흥미진진한 사건이 스프링 부트의 출현이라고 생각한다.
책에서는 스프링 부트가 스프링이 이룬 성과보다 더 나은 진보를 어떤 식으로 이루었는지 알아본다. 자동 구성, 스프링 부트 스타터, 스프링 부트 CLI, 액추에이터를 살펴볼 것이다. 또 스프링 부트를 기반으로 한 그레일즈의 최신 버전도 가볍게 다룬다. 이 모든 것이 끝날 때쯤이면 스프링이 지금보다 더 나아질 수는 없다고 생각할 것이다.
--- 저자 서문 중에서
스프링 부트는 스프링 프레임워크를 사용할 많은 구성을 관례에 따라 자동 구성하고, 좀 더 많은 사람이 스프링에 쉽게 접근할 수 있도록 했다.
하지만 모든 것이 자동으로 된다고 해서 마냥 편리하고 좋은 것만은 아니다. 전통적인 스프링은 XML, Java를 이용하여 원하는 구성을 개발자가 직접 작업했기에 의도한 대로, 구성한 대로 작동했다. 하지만 스프링 부트는 관례에 따라 자동 구성을 진행하기 때문에 처음에는 편리하게 느껴지지만, 스프링 부트를 이해하지 못하면 기존 스프링보다 더 어렵게 느껴질 수 있다. 결국 스프링 부트를 잘 사용하려면 스프링 부트에서 무슨 일이 일어나는지 이해하여 이를 더 세밀하게 조정하거나 오버라이드할 수 있는 방법들을 숙지해야 한다.
앞서 이야기했듯이 책에서는 스프링 부트의 자동 구성 원리, 자동 구성을 프로퍼티로 세밀하게 조정하는 방법, 자동 구성을 사용하지 않고 개발자가 자동 구성을 오버라이드하는 방법을 소개한다. 아울러 각 장에서 다루는 예제로 스프링 부트 프로젝트를 생성하고, 스프링 시큐리티, 스프링 데이터 JPA, 스프링 부트 액추에이터를 사용하는 독서 목록 애플리케이션(읽으려는 책 목록을 관리하고, 해당 책을 아마존에서 검색하도록 연동하는 애플리케이션)을 함께 만들 수 있다. 또 5장과 6장에서는 JVM에서 작동하는 동적 타이핑 언어인 그루비를 스프링 부트 CLI에서 사용하는 방법과 스프링 부트 프로젝트를 최신 그레일즈 버전으로 어떻게 변환하는지 설명한다.
오랫동안 스프링을 사용해 왔고 많은 스프링 관련 책을 읽었지만, 이 책만큼 훌륭한 입문서는 보지 못했다 스프링 부트에 아직 다가가지 못한 스프링 개발자에게 스프링 부트의 A-Z를 알려 주는 훌륭한 입문서이자 스프링 부트를 이미 사용 중인 개발자에게는 더 깊이 있는 내용들을 참고할 수 있는 지침서가 될 것이다.
--- 역자 서문 중에서