신규 프로젝트 백엔드 구성을 위해 스프링부트 프레임워크를 선택했다. 새로운 프로젝트 디렉토리를 구성해야 했는데, 스프링 공식 홈페이지에 "spring initializr"라는 좋은 툴이 있었다. 새로운 프로젝트 디렉토리를 구성할 때, 선택할 수 있는 빌드 도구, 개발 언어, boot 버전, 메타데이터를 기입하여 자동으로 만들어주는 툴이다. 스프링부트를 이용한 신규 프로젝트를 진행할 때, 다시 사용할 수 있도록 기록을 남겨놓는다.
1. Project 섹션
현재 Project 섹션에 선택할 수 있는 항목은 세가지다. Gradle-Groovy, Gradle-Kotlin, Maven.
구성하려는 프로젝트의 빌드 툴을 고를 수 있다. gradle이냐 maven이냐 선택함에 따라 프로젝트 하위에 구성되는 파일이 달라진다.
나는 gradle을 주로 사용했기에, gradle-kotlin을 골랐다.
2. Language 섹션
Language 섹션은 개발 언어를 선택하게끔 되어있다. 개발 언어는 Java, Kotlin, Groovy 세가지 항목으로 구성되어있다.
나는 Kotlin으로 주로 개발을 진행하고 있기에, Kotlin 항목을 고른다. 1번 항목에서 고른 항목을 개발 언어에 맞추어서 변경해준다.
Groovy는 사용해보지 않았기에, Gradle 구성이 어떻게 다른지는 나중에 찾아봐야겠다.
3. SpringBoot 섹션
SpringBoot 섹션은 사용하려는 SpringBoot의 버전을 고를 수 있다. 현재 보이는 항목으로는 3.x ~ 이상 버전들이 많이 보인다. SNAPSHOT과 RC1으로 괄호로 감싸져있는 버전들도 있다.
RC1은 Release Candidate1으로, 정식 릴리즈 전에 배포되는 예비 버전이다.(기능 구현은 완료, 테스트 및 버그 수정을 거치고 있는 단계)
SNAPSHOT은 정식 릴리즈 버전이 아니라 개발 중인 미완성 버전을 말한다.(새로운 기능 추가 및 버그 수정이 실시간으로 반영됨)
프로젝트의 dependency 문제 및 안정성 때문에 stable한 버전으로 사용하는 것을 나는 선호한다.
stable 버전인 3.1.11로 선택했다.(괄호 없는 것)
4. Project Metadata 섹션
프로젝트 메타데이터를 기입하는 섹션에는 아래와 같은 내용을 기입할 수 있다.
4-1. Group
4-2. Artifact
4-3. Name
4-4. Description
4-5. Package name
4-6. Packaging Type (Jar, War)
4-7. Java Version (22, 21, 17)
위와 같이 메타데이터를 기입하고 하단의 GENERATE를 누르면 zip 파일이 다운로드 된다.
우측의 Dependencies 섹션에서는 사용할 의존성을 검색하여 추가할 수 있다. boot devTools 같은건 넣어주고, 의존성은 추후 추가할 수 있으니 패스.
간단한 project 디렉토리가 완성되었다. 선택한 옵션대로 잘 만들어주는 spring initializr 정말 유용하다. gitignore 등을 추가하고 신규 프로젝트를 시작할 수 있겠다.