더북(TheBook)

5.1.1 CLI 프로젝트 준비하기

가장 먼저 해야 할 일은 프로젝트를 담을 디렉터리 구조를 만드는 것이다. 메이븐과 그레이들을 기반으로 한 프로젝트와 달리 스프링 부트 CLI 프로젝트는 프로젝트 구조가 엄격하지 않다. 사실 간단한 스프링 부트 CLI 애플리케이션은 파일 시스템의 아무 디렉터리에나 있는 단일 그루비 스크립트일 수도 있다. 하지만 독서 목록 프로젝트는 머신에 있는 다른 파일들과 섞이지 않도록 새 디렉터리에 만드는 것이 좋다. 

$ mkdir readinglist

여기서는 디렉터리 이름을 readinglist로 지정했으나 다른 이름으로 지정해도 무방하다. 디렉터리 이름은 프로젝트를 둘 곳이 있다는 사실보다 중요하지 않다.

정적 웹 콘텐츠와 Thymeleaf 템플릿을 넣으려면 디렉터리 몇 개가 더 필요하다. 따라서 readinglist 디렉터리에 새 디렉터리 static/css와 templates 두 개를 더 만들어 두자. 

$ cd readinglist
$ mkdir -p static/css
$ mkdir templates

디렉터리 이름이 자바 기반 프로젝트의 src/main/resources에 만든 디렉터리 이름과 동일한 것은 우연이 아니다. 스프링 부트는 메이븐이나 그레이들처럼 프로젝트 구조를 강제하지는 않지만, static 디렉터리에서 정적 콘텐츠를 찾는 스프링 ResourceHttpRequestHandler를 자동 구성한다. 또 templates 디렉터리에 있는 템플릿을 해석하도록 Thymeleaf를 구성한다.

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