개발 메모장

[Spring Boot] Rest API Server(1) - IntelliJ 프로젝트 생성 본문

Server

[Spring Boot] Rest API Server(1) - IntelliJ 프로젝트 생성

Delon 2020. 8. 8. 23:32

  최근 게이트웨이를 개발해야할 업무가 생기면서 기존에 크지 않던 API서버를 그대로 사용하기 위하여 MSA로 개발하기로 했다.

그래서 개발을 하고 있는 환경으로는 Spring Cloud Gateway + Hystrix + Spring Config + Eureka 환경에 Boot로 개발한 자바 서버와 

노드 서버등이 분산되어 있다.

 

그중 이번에는 진행을 하면서 가장 기본이 되는 Spring boot REST API 서버 에서 프로젝트 생성부터 알아본다

 

개발환경

IDE IntelliJ
JDK adoptopenjdk13

 

1. Create Project

1. SDK 및 starter url 선택

Intellij의 Spring Initializr를 사용하면 https://start.spring.io에서 제공하는 스프링부트 프로젝트 생성과 같은 방식으로 스프링 부트 프로젝트를 좀 더 쉽게 만들 수 있다

 

제일 처음 SDK 버전을 선택하고 넘어간다

2. 프로젝트 기본정보 설정

그리고 기본정보등을 설정해준다.

프로젝트 기본이 되는 Group, Artifact 정보들을 입력한다

 

(기본정보는 https://docs.spring.io/initializr/docs/0.4.x/reference/htmlsingle/#getting-started-advanced-options) 에 설명을 참조해도 좋다

 

Type은 gradle 프로젝트로 가기위하여 gradle로 선택하고

packaing은 Spring boot의 내장된 서버를 사용하기위하여 jar로 배포한다

스프링 부트에 내장서버는 tomcat, jetty, netty, undertow 가 있다

 

dependency 선택

그리고 필요한 dependency 들을 선택해준다. 물론 build.gralde 에서 차후에 추가나 제거할 수 있다.

Eureka, JPA, Config 서버 등을 연동하기위해서는 추가적인 dependency가 필요하지만 이부분은 차후에 포스팅할 때 추가한다.

그리고 가장 기본이 되는 dependency들만 추가한다.

 

  • Spring Boot devTools (Optional) : 이건 개발을 보조해주는 툴이기에 사실상 선택사항이다. 개발을 하면서 자동 빌드를 지원해준다. 자동 빌드가 되는 부분에 대해서는 사용자가 직접 설정할 수 있다.
  • Lombok : 롬복은 자바에서 기본이 되는 getter, setter, constructor 들을 자동으로 관리해준다. 이 외에도 builder 나 null 관리등 다양한 기능들을 제공하기에 추가하여 진행한다.
  • Spring Web : 가장 중요한 dependency 이다. 과거에는 Spring Web MVC 또는 Spring MVC 라고도 하며, Spring의 Rest Service를 제공할 수 있게 도와준다.

그리고 Spring boot 버전을 설정할 수 있다.

프로젝트 이름 설정

그리고 프로젝트 이름을 설정한다.

 

 

Spring 공식 initializr

결국 위에 https://start.spring.io에서 제공하는 방식을 IDE에서 할 수 있게 공식 지원한 것 뿐이다. 

 

 

2. 프로젝트 확인

프로젝트 생성 완료

프로젝트가 생성되면 다음과 같은 구조로 생성된다.

 

플러그 인 확인

그리고 Lombok을 위한 플러그인의 설치와 활성화 여부를 확인하고,

Enable annotation processing 체크 확인

Preferences(mac) / setting (Window) -  Build, Execution, Deployment - Annotation Processors 에서 Enable annotation processing가 체크 되어 있나 확인 후 안되어 있으면 체크를 해준다.

 

build.gradle

그리고 Build.gradle 파일을 보면 아까 설정한 정보들을 확인할 수 있다.

Comments