더북(TheBook)

스프링 부트의 이전 버전에서는 ReadingListApplication 클래스에 이 애너테이션 세 개를 모두 붙여야 했다. 하지만 스프링 부트 1.2.0 버전부터는 @SpringBootApplication 애너테이션 하나면 충분하다.

앞에서 언급했듯이 ReadingListApplication은 부트스트랩 클래스이기도 하다. 전통적인 WAR 파일 배포를 포함하여 스프링 부트 애플리케이션을 실행하는 방법은 여러 가지다. 하지만 여기서는 main() 메서드가 명령줄에서 실행 가능한 JAR 파일로 애플리케이션을 실행할 수 있게 한다. main() 메서드는 ReadingListApplication 클래스 참조와 명령줄 인자를 SpringApplication.run() 메서드에 전달하여 애플리케이션을 실행한다.

아직 애플리케이션 코드를 한 줄도 작성하지 않았지만 애플리케이션을 빌드하고 실행할 수 있다. 그레이들의 bootRun 태스크를 이용하면 손쉽게 애플리케이션을 빌드하고 실행할 수 있다.

  $ gradle bootRun

bootRun 태스크는 스프링 부트 그레이들 플러그인에 포함되어 있다. 2.1.2절에서 그레이들 플러그인을 좀 더 자세히 살펴본다. 그레이들로 프로젝트를 빌드한 후 java 명령으로 실행하는 방법도 있다.

  $ gradle build
  $ java -jar build/libs/readinglist-0.0.1-SNAPSHOT.jar

명령을 실행하면 애플리케이션이 정상적으로 작동하고 8080 포트에서 수신하는 톰캣 서버가 작동해야 한다. 원한다면 웹 브라우저로 http://localhost:8080에 접속해도 된다. 하지만 아직 컨트롤러 클래스를 작성하지 않았기 때문에 HTTP 404(Not Found) 오류(페이지 없음 오류)와 오류 페이지가 나타날 것이다. 이 장을 마칠 때쯤이면 해당 URL에서 독서 목록 애플리케이션을 서비스할 수 있다.

ReadingListApplication.java는 변경할 일이 거의 없다. 스프링 부트 자동 구성이 제공하는 것 이상으로 추가적인 스프링 구성이 필요하다면, 별도의 @Configuration 애너테이션을 포함한 구성 클래스에서 작성하는 것이 가장 좋다. 이 구성 클래스들은 컴포넌트 검색으로 자동으로 추가한다. 하지만 매우 간단한 추가 구성은 ReadingListApplication.java에 추가하는 것이다.

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