1. 환경 구축


 스프링 프레임워크를 이용한 개발을 위한 개발툴(IDE)에는 이클립스, STS, 인텔리제이, 메모장 등을 사용할 수 있는데, 글쓴이는 STS를 이용한다.


 최신 STS4 버전을 이용하고, jdk 1.8.0_241 버전을 이용한다.


 설치방법은 다음의 '나 연구소'라는 블로그에 정리가 잘 되어있으니 (링크)를 참조하면 좋을 듯 하다.


 설치를 완료하고, SpringToolSuite4.exe 를 실행하면 이클립스와 거의 똑같은 화면이 뜬다.



2. 메이븐 프로젝트 임포트 및 실행

 

 STS4를 실행하면 다음과 같은 화면이 뜬다.


 여기서 Create new Spring Starter Project를 클릭하고, 그 후 설정은 이번에는 모두 기본값으로 두고 진행한다.


 이후 File - Import 을 클릭하고, Maven/Existing Maven Project 옵션을 선택한다.


 이후 디렉토리 설정에서 ch01/springintro_mvn 디렉토리를 지정한다.



 여기서 Import Maven Projects 창에서 pom.xml com.apress.springrecipes... 이 내용이 보이면 프로젝트가 정상적으로 임포트 된 것이다.


 이 상태가 됬다면 Finish하면 된다.


 이후 프로젝트를 선택하고 RunAs - Maven Build 옵션을 선택하고, 팝업창이 뜨면 Run하면 빌드된다.


 이제 F5를 눌러 프로젝트 디렉토리를 갱신해보면 하위 디렉토리에 target 디렉토리사 새로 생겨있다. 이 디렉토리 아래 springintro_mvn-4.0.0-SNAPSHOT.jar 파일을 우클릭하고 Run as - Run configurations 옵션을 선택하면 실행 설정을 편집하는 팝업이 뜬다.


여기서 좌측에 Java application을 선택하고, Main Class 박스에 이 프로젝트의 메인 클래스 com.apress.springrecipes.hello.Main을 입력한다.(탐색 기능을 쓰면 정확히 찾을 수 있음)


 이제 Run 버튼을 클릭하면 인사말이 뜬다.

실행 결과



3. 그레이들 프로젝트 임포트 및 실행


 그레이들은 메이븐보다 최근에 나온 빌드 스크립트로, 조만간 메이븐을 대체할 예정이다.


 STS에서 그레이들을 사용하려면 우선 Buildship 확장 플러그인을 설치해야한다.

 STS상단 메뉴에서 Help - Eclipse Marketplace 를 선택하고, Gradle 키워드로 검색한다.

 (책에서는 2.0버전을 설치하라고 되어있지만 현재는 3.0버전밖에 없음)


 이제 예제 소스를 임포트하는 단계다.

 File - Import 에서 Gradle/Existing Gradle Projects 옵션으로 넘어간다.

 디렉토리는 예제 소스의 ch01/springintro 디렉토리로 설정한다.




 이후 프로젝트를 선택하고 Run 하면 실행된다.


 책에서는 프로젝트를 빌드하고, libs 디렉터리의 springintro.jar 파일을 선택에 Run configurations 설정에서 Main class를 설정해줘야한다고 하는데 이 과정이 필요없이 바로 실행이 됬다.

 빌드쉽 버전 차이 때문에 그런게 아닐까 싶다.


 배움이 즐거운 개발자님의 포스팅을 통해 빌드하는 법을 찾았다.(링크)

 

 우선 STS에서 Gradle Tasks 뷰를 띄워야한다.

 우측 상단에 커맨드 검색 기능을 이용해 Show View(Gradle Tasks) 커맨드를 선택하여 Gradle Tasks 뷰를 띄우고, 해당 프로젝트의 build/jar를 더블 클릭하면 빌드된다.


 그러면 실제 디렉토리에 다음과 같이 jar 파일이 생성되어있다.

 



 

3. 빌드 스크립트


 자바 애플리케이션을 개발하다보면 JAR 파일이나 구성 파일 복사, 컴파일에 필요한 클래스패스 설정, JAR 의존체 다운로드 등 자잘한 작업이 많은데, 자바 빌드 툴이 이를 대신 처리한다.

 빌드 파일만 있으면 빌드시 원 개발자가 의도한 작업을 그대로 재현할 수 있기 때문에 자바 빌드 툴은 중요하다. 메이븐 pom.xml, 그레이들 build.gradle 파일만 있으면 빌드 툴에 무관하게 다른 유저, 다른 시스템에서도 일관되게 빌드할 수 있다.

 자바 개발자들은 대부분 빌드 스크립트로 메이븐 pom.xml이나 이보다 나중에 나온 build.gradle을 사용한다.

 이 부분은 아직 빌드 스크립트를 본 적 없어서 이해가 가지 않을 수 있으니 일단 넘어가자.


4. 레퍼런스

스프링 5 레시피(4판) - 한빛 미디어

https://m.blog.naver.com/PostView.nhn?blogId=pyj721aa&logNo=221613874213&proxyReferer=https%3A%2F%2Fwww.google.com%2F - STS 설치

https://github.com/nililee/spring-5-recipes - 스프링 예제

https://galid1.tistory.com/500 - 그레이들 빌드 하는 법.

블로그 이미지

서기리보이

,