Hello Spring! Spring 프로젝트 생성하기.
1. 준비
- 자바 버전: Java 11을 사용. 자료들이 11버전이 많았음. 듣고 있는 강의에서도 11버전을 사용함.
- IDE: IntelliJ. 말할 필요없는 Java 최고의 IDE.
현재 나는 M1 맥북을 사용중인데, 최근 구매한 맥북들에는 default로 Java 17 버전이 깔려있다. 그래서 프로젝트를 생성하기 전에 JDK를 Java 11버전으로 내려준 다음 사용해야 했다.
https://www.oracle.com/java/technologies/downloads/archive/
오라클에서 자신의 운영체제 맞는 버전의 JDK를 설치하자. 설치후 터미널에 아래 명령어를 입력하자.
/usr/libexec/java_home -V
그러면 지금 컴퓨터에 설치되어 있는 JDK들이 나온다. 현재 내 맥북에는 Java 11, Java 17 버전 2개의 JDK가 설치되어 있다.
그리고 현재 내 맥북의 자바 버전을 한번 체크해봐야 한다. 터미널에 아래 명령어를 입력.
java -version
현재 내 맥북의 자바 버전은 17버전으로 되어있다. 방금 설치한 11버전으로 버전을 변경해 보자.
export JAVA_HOME=$(/usr/libexec/java_home -v 11)
이렇게 잘 변경된 모습을 확인할 수 있다.
2. Spring 프로젝트 생성하기
이 사이트에서 Spring 프로젝트를 생성할 수 있다.
옵션 선택은 위 사진과 같이 하면 된다. Maven Project와 Gradle Project의 차이는 뭐가 뭔지는 잘 모르겠지만, Maven의 옛날에 주로 사용했다고 한다. 레거시 프로젝트들이 Maven. 현재는 대부분 Gradle을 사용한다고 한다.
Spring Boot 버전은 SNAPSHOT이 없는 버전 중에서 가장 최신 버전을 선택하면 된다. 계속해서 업데이트 되는 듯 하다. 1년 전에는 2.3 버전에었는데 지금 벌써 2.6 버전이다.
Dependencies는 Spring Web, Thymeleaf 두개를 선택한다. 왜 이 두개를 쓰는지는 모르겠지만 일단은 따라가면서 배우는 중이다.
다 선택했다면 아래에 GENERATE 버튼을 누르면 .zip 파일이 생성되는데, 압축을 풀자.
이제 IntelliJ에서 프로젝트를 열어야 하는데 압축푼 폴더안에 있는 build.gradle을 열어주어야 한다.
open을 클릭하게 되면 파일로 열지, 아니면 프로젝트로 열지 선택하게 되는데 프로젝트로 열기를 클릭해 주자.
프로젝트를 열게되면 갑자기 수십 MB의 라이브러리를 내 허락도 없이 다운로드를 하게 된다. 시간도 조금 오래 걸린다. 이게 뭘까? 아까 프로젝트 생성할 때 Dependencies에서 Spring web, Thymeleaf 2개의 라이브러리를 선택했었다. 저 2개의 라이브러리에 종속된 모든 라이브러리를 다운로드를 하게 된다.
왼쪽 계층구조에서 External Libraries란 항목이 있는데, 얘를 한번 열어보면 다운로드 받은 수많은 라이브러리들이 있다. 처음 내가 골랐던건 2개 뿐이지만 이렇게나 많은 라이브러리들이 종속되어 있던 것이다. 중간에 tomcat을 발견할 수 있는데... 이걸 여기서 볼 줄 전혀 예상하지 못했다. 예전에 백엔드 맛보기 할 때 교수님이 tomcat을 직접 다운로드해서 사용하는 법을 가르쳐주셨는데, 그저 내 대가리만 깨졌던 기억이 난다.
프로젝트를 대충보면 src라는 폴더가 있고, 그 안에 main과 test가 있다. 이제 내가 작성할 주요 코드들이 main 안에 들어가게 된다. 자바코드, html파일... 모두다 main 안에 집어넣으면 된다.
자 이렇게 성공적으로 첫 Spring 프로젝트를 생성했고, IDE에서 여는 것도 성공했다. 아직까진 순조롭다!
2. 프로젝트 실행
일단 한번 아무것도 하지 않고 실행만 해보았다. main -> java 폴더안에 끝까지 들어가면 자바파일이 하나 있는데 마우스를 올려놓아보면 Spring boot runnable class 라고 메시지가 나온다. 사진처럼 main함수 옆 녹색 화살표를 누르거나 ctrl + R 을 눌러서 실행해보자.
실행을 하게 되면 Console 창에 이상한 문구들이 막 등장한다. Spring이라는 문구가 그려져있고, 톰캣, 카탈리나도 실행되고 있다는 문구가 있다. 느낌으로는 실행이 잘 된 것처럼 보인다. 서버가 잘 열렸는지 확인하기 위해 크롬이나 사파리를 열고 localhost:8080을 url에 입력하고 들어가보자. 아래와 같은 화면이 등장했다면 성공한 것이다.
서버가 잘 안열렸을 경우에는 This site can't be reached. 와 같은 메시지가 등장한다. 한번 IntelliJ에서 실행되는 서버를 끄고 다시 localhost:8080으로 들어와보면 볼 수 있을 것이다. 어쨌든 여기까지 도착했다면 프로젝트 환경 설정은 성공적으로 끝난 것이다.