본문 바로가기
스프링/스프링부트

[Spring Boot] 인텔리제이(intellij)로 스프링부트 시작하기

by 책 읽는 개발자_테드 2020. 12. 27.
반응형

인텔리제이(intellij)로 스프링부트 시작하기 

 

이 글은 자바 개발자들이 가장 많이 사용하는 IDE인 인텔리제이를 통해 스프링부트 프로젝트를 생성하는 방법을 보여줍니다. 

 

글을 읽고 나면 Gradle은 통해 직접 스프링부트를 추가하는 방식과 스프링 이니셜라이저를 통한 방식, 두 가지 모두를 알 수 있습니다. 

 

    Gradle로 스프링부트 추가하기

     

    인텔리제리를 시작하면 프로젝트 생성 화면이 보입니다. Create New Project를 클릭하여 새로운 프로젝트를 생성합니다.

     

     

    프로젝트 종류로 Gradle을 선택하고 Next 버튼을 클릭합니다.

     

     

    원하는 프로젝트명을 작성하고, Finish 버튼을 클릭하면 프로젝트가 생성됩니다.

     

     

    생성한 프로젝트의 build.gradle 파일을 열어보면, 다음과 같은 내용을 볼 수 있습니다.

     



    해당 내용을 모두 지우고, 다음 코드를 붙여 넣습니다.

     

    buildscript{
    
        ext{
            springBootVersion = '2.4.1'
    
        }
    
        repositories {
            mavenCentral()
            jcenter()
        }
    
        dependencies {
            classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        }
    
    }
    
    
    
    apply plugin: 'java'
    apply plugin: 'eclipse'
    apply plugin: 'org.springframework.boot'
    apply plugin: 'io.spring.dependency-management'
    
    group 'org.example'
    version '1.0-SNAPSHOT'
    
    sourceCompatibility = 1.8
    
    repositories {
        mavenCentral()
        jcenter()
    }
    
    dependencies {
        compile('org.springframework.boot:spring-boot-starter-web')
        testCompile('org.springframework.boot:spring-boot-starter-test')
    
    }



    코드에 대한 설명은 위에서 아래로 진행하겠습니다.

     

    ✏️ext 키워드는 build.gradle에서 사용하는 전역변수를 설정합니다. 여기서는 springBootVersion 전역변수를 생성하고, 그 값을 ‘2.1.7.RELEASE’로 합니다. 즉, spring-boot-gradle-plugin라는 스프링 부트 그레이들 플러그인의 2.1.7.RELEASE를 의존성으로 설치하겠다는 의미입니다.

     

    ✏️apply plugin 키워드는 앞서 선언한 플러그인 의존성들을 적용할 것인지 결정하는 코드입니다. 다음의 네 가지 플러그인은 자바 스프링 부트를 사용하기 위한 필수 플러그인이므로 항상 추가합니다.

     

    apply plugin: 'java'

    apply plugin: 'eclipse'

    apply plugin: 'org.springframework.boot'

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

     

    ✏️repositories는 각종 의존성(라이브러리)들을 어떤 원격 저장소에서 받을지 결정합니다. 기본적으로 mavenCentral을 많이 사용하지만, 최근에는 mavenCentral의 라이브러리 업로드 난이도 문제로 jcenter도 많이 사용합니다.

     

    maven Central은 본인이 만든 라이브러리를 업로드하기 위해 많은 과정과 설정이 필요합니다. 때문에 개발자들이 직접 만든 라이브러리를 업로드하는 것이 힘들어 점점 공유가 안 되는 상황이 발생했습니다. 

     

    이러한 문제를 개선하여 최근에 나온 jcenter는 라이브러리 업로드를 간단하게 하였으며, jcenter에 라이브러리를 업로드하면 mavenCentral에도 업로드될 수 있도록 자동화할 수 있습니다.

     

    ✏️dependencies는 프로젝트 개발에 필요한 의존성들을 선언합니다. 위 코드에서는    org.springframework.boot:spring-boot-starter-web, org.springframework.boot:spring-boot-starter-test를 다운로드 하도록 선언되어 있습니다.

     

    의존성 코드는 직접 작성해도 되고, 자동완성으로 만들어도 됩니다. 단, 특정 버전을 명시하지 않아야 맨 위에 작성한 org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}  의 버전을 따라하게 되며, 각 라이브러리들의 버전 관리를 한곳에 집중하여 버전 충돌 문제를 해결할 수 있습니다.

     


    주의!
    다음과 같이 Gradle 버전 오류가 나시는 분이 있을 수 있습니다.

     

     Spring Boot plugin requires Gradle 5 (5.6.x only) or Gradle 6 (6.3 or later). The current version is Gradle 5.2.1 

     

    이럴 때는 해당 프로젝트의 루트디렉토리로 가셔서 ./gradlew wrapper --gradle-version 6.7.1 을 입력하여 Gradle 버전을 업그레이드합니다.

     

     

    코드 수정이 끝났으면 인텔리제이 하단에 Import Changes 버튼을 클릭하여 변경된 그레이들의 내용을 반영합니다.

     

     

    의존성 다운로드가 완료되면 인텔리제이 우측의 Gradle 탭을 클릭하여 의존성이 올바르게 다운로드 되었는지 확인할 수 있습니다. main 디렉토리에는 spring-boot-start-web이, test에는 spring-boot-start-test 의존성이 다운로드된 걸 확인할 수 있습니다.

     

     

     

    스프링 이니셜라이저로 스프링부트 추가하기

     

    앞서 설명한 과정 없이 클릭 몇 번 만으로 스프링부트 프로젝트를 생성할 수 있는 방법이 있습니다. 바로 스프링 이니셜라이저를 사용하는 방법이다.

     

    먼저 다음 링크로 이동합니다. https://start.spring.io/

     

    링크로 이동하면 아래와 같은 페이지를 볼 수 있습니다. 진한 흰색 글씨는 다음과 같은 내용들을 의미합니다.

     

    ✏️Project에서 의존성 관리 도구(Maven 또는 Gradle)를 선택할 수 있습니다.

     

    ✏️Language에서 스프링 부트 프로젝트에 사용할 언어를 선택합니다. 

     

    ✏️SpringBoot에서 스프링 부트의 버전을 선택합니다.

     

    ✏️Project Metadata에서 프로젝트의 이름, 패키징 도구(Jar 또는 War)와 사용할 프로그래밍 언어(Java)의 버전을 선택합니다.

     

    ✏️Dependencies에서 스프링 부트 프로젝트에서 사용할 의존성 라이브러리들을 선택할 수 있습니다. 오른쪽에 보이면 ADD 버튼을 클릭합니다.

     

     

    Spring Web을 선택합니다. ‘Gradle로 스프링부트 추가하기’에서 명시적으로 추가했던 spring-boot-start-test는 여기서 선택하지 않아도 자동으로 추가됩니다.

     

     

    GENERATE 버튼을 클릭하면, 스프링 부트 프로젝트가 zip 파일 형태 다운로드 됩니다. zip 파일의 압축을 풀어줍니다.

     

     

    인텔리제이로 이동해서, File - Open을 클릭합니다.

     

     

    마지막으로 스프링 이니셜라이저로 생성한 프로젝트 디렉토리를 선택하고, Open 버튼을 클릭합니다.

     

     

    인텔리제이를 통해 스프링 부트 프로젝트가 정상적으로 생성된 것을 확인할 수 있습니다.

     

    출처: 스프링 부트와 AWS로 혼자 구현하는 웹 서비스

    반응형

    댓글