관리 메뉴

nalaolla

SpringBoot2로 Rest api 만들기(1) – Intellij Community 프로젝트생성 본문

SPRING/SpringBoot Restfull api

SpringBoot2로 Rest api 만들기(1) – Intellij Community 프로젝트생성

날아올라↗↗ 2020. 2. 14. 15:25
728x90
반응형

Intellij에서 SpringBoot2를 실습하기 위한 가장 기본적인 설정을 진행해보겠습니다. 프로젝트의 진행은 Intellij Community 버전으로 진행합니다. 다음 사이트에서 Intellij Community 버전을 다운로드하여 설치해 주십시오.
>> JetBrain Intellij Download

Create New Project를 선택합니다.

Gradle을 선택하고 SDK는 개발 PC에 깔려있는 JDK를 선택합니다. 혹시 개발 PC에 JDK가 깔려있지 않은 경우 먼저 아래 링크에서 JDK를 다운로드하여 설치합니다.
>> Adopted OpenJdk Downloads
오라클이 Java에 대해서 유료화 정책을 시행하고 있으므로 OpenJDK 사용을 권장드립니다.
Additional Libraries and Frameworks는 JAVA를 선택해 주십시오.

groupId는 프로젝트를 다른 모든 프로젝트 사이에서 고유하게 식별해 주는 값입니다.
artifactId는 프로젝트의 jar생성 시 버전 정보를 생략한 파일의 이름입니다.

Use auto-import 를 체크합니다.

Project name에 적당한 이름을 넣고 Project location의 변경이 필요하면 …을 눌러 경로를 변경하고 Finish를 눌러 주십시오.

기본으로 생성되는 프로젝트 구조입니다.
아래 내용으로 build.gradle내용을 변경하면 라이브러리가 자동으로 갱신됩니다.
혹시 갱신되지 않으면 오른쪽 Gradle탭을 누른 후 동그란 모양의 리프레시 버튼을 눌러주십시오. 처음에는 라이브러리 다운로드에 조금 시간이 걸릴 수 있습니다.
해당 프로젝트에서는 freemarker, lombok, h2, mysql을 사용하도록 설정하였습니다.

plugins {

    id 'org.springframework.boot' version '2.1.4.RELEASE'

    id 'java'

}

 

apply plugin: 'io.spring.dependency-management'

 

group = 'com.rest'

version = '0.0.1-SNAPSHOT'

sourceCompatibility = '9'

 

configurations {

    compileOnly {

        extendsFrom annotationProcessor

    }

}

 

repositories {

    mavenCentral()

}

 

dependencies {

    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'

    implementation 'org.springframework.boot:spring-boot-starter-freemarker'

    implementation 'org.springframework.boot:spring-boot-starter-web'

    compileOnly 'org.projectlombok:lombok'

    runtimeOnly 'com.h2database:h2'

    runtimeOnly 'mysql:mysql-connector-java'

    annotationProcessor 'org.projectlombok:lombok'

    testImplementation 'org.springframework.boot:spring-boot-starter-test'

}

Lombok 사용을 활성화하기 위해 아래처럼 File – Settings – Plugins – Lombok을 검색하여 install 합니다. install이 완료되면 IDE를 restart 합니다.

Lombok은 Java에서 도메인 모델(VO, DTO, Entitiy…)을 간편하게 사용할 수 있게 해주는 라이브러리입니다. 예를 들면 DB에서 데이터를 주고받을 때 Table에 맵핑되는 모델 생성 시엔 각 필드에 대한 Setter, Getter 정의가 필요합니다.
Lombok은 어노테이션(@~~)만 설정하면 Setter, Getter 같은 추가적인 코딩이 필요하지 않게 해 줍니다. 해당 기능 이외에도 Lombok은 여러 가지 개발 편의성을 제공하므로 사용하는 것이 개발 생산성에도 좋습니다.

File – Settings – Build. Execution, Deployment – Compiler – Annotation Processors 선택 후 오른쪽 상단의 Enable annotation processing을 체크합니다.
해당 내용을 체크해야 Lombok annotation을 소스에서 인식할 수 있습니다.

최종 프로젝트 구조는 위와 같습니다.
대부분의 코드는 src/main/java 아래에 package를 구성하여 작성하게 됩니다.
다음 시간엔 실제로 서버를 실행하여 HelloWorld를 실행해 보도록 하겠습니다.

최신 소스는 GitHub 사이트를 참고해 주세요.
https://github.com/codej99/SpringRestApi
GitHub로 프로젝트 구성은 다음을 참고해주세요.
https://daddyprogrammer.org/post/1215/intellij-github-spring-gradle-project-import

 

 

[출처] https://daddyprogrammer.org/post/19/spring-boot2-start-intellij/

728x90
반응형