스프링 부트 프로젝트 만들기 - Spring Initializr 웹 도구 사용

2021. 4. 22. 03:15 Spring Framework/Spring boot #3

 

스프링 부트 프로젝트 만들기 - Spring Initializr 웹 도구 사용

 

스프링 프로젝트를 만드는 방법 중에는 Spring에서 제공하는 Spring Initializr 웹 도구를 사용하는 간편한 방법이 있다.

 

https://start.spring.io/ 에 접속하자.

 

위 주소로 들어가면 이런 화면이 보일것이다. 시간이 흐름에 따라 UI는 바뀔 수 있다.

 

선택해야하는 옵션은 차례로,

 

  • Project: 사용할 빌드 툴 선택 (Maven/Gradle)

Maven, Gradle은 프로젝트에 필요한 의존성을 관리하고 빌드 라이프사이클을 관리해주는 툴이다. 과거에는 Maven을, 최근에는 Gradle을 사용하는 추세이다. 스프링 라이브러리 관리 자체도 최근에는 Gradle로 하고 있다.

 

  • Language: 언어 선택
  • Spring Boot: 버전 선택

SNAPSHOT이 붙은 것은 현재 개발중인 버전, M(Minor)은 정식 릴리즈되지 않은 버전이고 아무것도 붙어있지 않은 것이 정식 릴리즈된 버전이다. 따라서 정식 릴리즈된 버전 중 가장 최신 버전을 선택하는 것이 좋다. 글을 작성하는 현재는 2.2.5가 되겠다.

 

  • Project Metadata: Group, Artifact 입력

보통 Group은 기업의 도메인명을 적는다. 개인 프로젝트라면 com.atoz_develop처럼 자신의 블로그 도메인을 사용하던지, 자유롭게 작성하면 된다.

Artifact는 빌드 결과물 이름을 의미한다.

 

마지막으로 필요한 Dependency를 검색해서 추가한다. 이 스프링 프로젝트에서 사용할 라이브러리를 추가하는 단계이다. Web 프로젝트를 만들려면 Spring Web을 필수로 추가해야 한다.

추가가 완료되면 하단의 Generate를 클릭한다.

 

생성된 프로젝트의 zip파일을 다운받는다.

 

다운받은 zip파일을 적당한 곳에 압축을 풀고 IDE에서 열어 사용하면 된다.

 

생성된 pom.xml에 의해 스프링 부트 프로젝트에 필요한 의존성과 플러그인이 자동으로 들어온다.

 

이런 방법으로도 스프링 부트 프로젝트를 만들 수 있다.

 

번외 - 스프링 부트 프로젝트 실행하기(Gradle)

만든 스프링 부트 프로젝트를 실행해보자.

 

IntelliJ로 실행

Gradle 프로젝트인 경우, Gradle을 통해서가 아닌 IntelliJ로 자바를 실행하도록 설정을 변경한다. 이 설정은 필수적이진 않으나 프로젝트를 더 빨리 띄울 수 있다.

IntelliJ Preferences > Build, Execution, Deployment > Build Toos > Gradle

 

Build and run using, Run tests using을 둘 다 IntelliJ IDEA로 변경한다.

 

main 메소드 좌측의 녹색 화살표를 클릭하고 Run 메뉴를 클릭하여 실행한다.

 

Gradle로 빌드 및 실행

터미널에서 프로젝트 루트 디렉토리로 이동 후 다음 명령어를 입력한다. (Windows는 gradlew.bat)

 $ ./gradlew build

 

빌드가 완료되면 ./build/libs 디렉토리에 jar 파일이 생성된다. java -jar로 실행한다.

$ java -jar {생성된 jar파일명}.jar

 

References

인프런 - 백기선님의 스프링 부트 개념과 활용

인프런 - 김영한님의 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

 

 

출처 : atoz-develop.tistory.com/entry/%EC%8A%A4%ED%94%84%EB%A7%81-%EB%B6%80%ED%8A%B8-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EB%A7%8C%EB%93%A4%EA%B8%B0-Spring-Initializr-%EC%9B%B9-%EB%8F%84%EA%B5%AC-%EC%82%AC%EC%9A%A9?category=869242