더북(TheBook)

5.1 스프링 부트 CLI 애플리케이션 개발하기

 

JVM 플랫폼을 기반으로 하는 개발 프로젝트 대부분은 자바로 개발하며, 메이븐이나 그레이들 같은 빌드 시스템으로 배포 가능한 아티팩트를 생성한다. 2장에서 만든 독서 목록 애플리케이션도 이런 모델을 따른다.

자바는 최근 버전에서 대단한 발전을 이룩했다. 하지만 여전히 몇 가지 엄격한 규칙 때문에 불필요한 코드 잡음이 들어간다. 줄 끝의 세미콜론, public이나 private 같은 클래스와 메서드 접근 제어자, 게터(getter)와 세터(setter) 메서드, import 문은 자바에서 유용하게 사용하지만, 코드의 본질적인 요소와는 거리가 멀다. 개발자 입장에서 코드 잡음은 저항이다. 코드를 작성할 때 방해가 되고, 코드를 읽을 때는 더 방해가 된다. 이런 코드 잡음을 제거하면 코드를 더 쉽게 읽고 개발할 수 있다.

마찬가지로 메이븐과 그레이들 같은 빌드 시스템은 프로젝트에 유용하다. 하지만 빌드 명세도 개발하고 유지 보수해야 하는 추가 요소다. 빌드를 제거할 방법이 있다면 프로젝트는 더욱 단순할 것이다.

스프링 부트 CLI로 개발하면 빌드 명세가 필요 없다. 코드 자체가 빌드 명세의 역할을 대신하여 CLI가 의존성을 해석하고 배포 아티팩트를 생성하도록 힌트를 제공한다. 또 그루비를 이용한 스프링 부트 CLI는 코드 잡음 대부분을 제거하는 개발 모델을 지원하여 저항 없는 개발 경험을 제공한다.

아주 간단한 예로 CLI 기반 애플리케이션을 작성하는 것은 1장에서 다룬 단독형 그루비 스크립트를 작성하는 것만큼이나 쉽다. 그러나 CLI를 사용하여 더 완전한 애플리케이션을 작성하려면 프로젝트의 코드를 담을 기본적인 프로젝트 구조를 만들어야 한다. 이 작업부터 시작하여 독서 목록 애플리케이션을 다시 작성할 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.