ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1장) IntelliJ로 스프링부트 시작하기
    Java & Spring/스프링 부트와 AWS로 혼자 구현하는 웹 서비스 2020. 6. 26. 00:04
    반응형

    인텔리제이 설치

    • 원래 IntelliJ를 사용하고 있었으므로, 따로 정리하지 않음

    프로젝트 생성

    • 프로젝트 생성 -> Gradle 선택 (Gradle 프로젝트 생성)
    • GroupID와 ArtifactId를 등록한다.
      • ArtifactId는 프로젝트의 이름이 되기 때문에, 원하는 이름을 작성한다.
      • 설정값은 기본 값으로 둔다.
      • 디렉토리 위치 또한, 원하는 경로를 설정한다.

    그레이들 프로젝트를 스프링 부트 프로젝트로 변경하기

    • gradle 파일을 연다.

            plugins {
            id 'java'
        }
      
        group 'com.zin0.book'
        version '1.0-SNAPSHOT'
      
        sourceCompatibility = 1.8
      
        repositories {
            mavenCentral()
        }
      
        dependencies {
            testCompile group: 'junit', name: 'junit', version: '4.12'
        }

      위와 같이 작성되어 있는 것을 볼 수 있다.

      • 스프링 이니셜라이저(https://start.spring.io/)를%EB%A5%BC) 사용하면 쉽게 작성할 수 있지만, 책에서는 이를 사용하지 않고 직접 코드를 작성
      • build.gradle의 코드가 무슨 역할을 하는지, 이니셜라이저 외에 추가로 의존성 추가가 필요하면 어떻게 해야하는지 모르는 상황을 방지하기 위해서.
    • 프로젝트의 플러그인 의존성 관리 추가

          buildscript {
              ext {
                  springBootVersion = '2.1.7.RELEASE'
              }
              repositories {
                  mavenCentral()
                  jcenter()
              }
              dependencies {
                  classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
              }
          }
      • ext - build.gradle에서 사용하는 전역변수를 설정
      • 위의 코드는 springBootVersion의 값인 그레이들 플러그인의 2.1.7.RELEASE을 의존성으로 받겠다는 의미
      • mavenCentral은 본인이 만든 라이버리를 업로드 하기 위해서는, 많은 과정과 설정을 거쳐야한다.
      • 이러한 문제점을 개선하여 라이브러리 업로드를 간단하게 도와주는 jcenter가 등장함
      • jcenter에 라이브러리를 업로드하면 mavenCetral에도 업로드될 수 있도록 자동화 가능
    • 플러그인 적용

          apply plugin: 'java'
          apply plugin: 'eclipse'
          apply plugin: 'org.springframework.boot'
          apply plugin: 'io.spring.dependency-management'
      • io.spring.dependency-management 플러그인은 스프링 부트의 의존성들을 관리해주는 플러그인 ( 꼭 추가해야함 )
      • 위의 4개 플러그인은 자바와 스프링 부트를 사용하기 위한 필수 플러그인, 따라서 항상 추가하면 됨
    • 나머지 코드

          repositories {
              mavenCentral()
          }
      
        dependencies {
            compile('org.springframework.boot:spring-boot-starter-web')
            testCompile('org.springframework.boot:spring-boot-starter-test')
        }
      • 의존성 compile 코드는 특정 버전을 명시하면 안된다. 그래야, 위에서 작성한 springBootVersion의 변수 값에 따라 버전을 따라가게 됨.
      • 이렇게 관리하면, 각 라이브러리들의 버전 관리가 한 곳에 집중될 수 있고, 버전 충돌 문제도 해결
    • 전체 코드

          buildscript {
              ext {
                  springBootVersion = '2.1.7.RELEASE'
              }
              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 'com.zin0.book'
        version '1.0-SNAPSHOT'
        sourceCompatibility = 1.8
      
        repositories {
            mavenCentral()
        }
      
        dependencies {
            compile('org.springframework.boot:spring-boot-starter-web')
            testCompile('org.springframework.boot:spring-boot-starter-test')
        }
      • 코드를 다 작성하고 나면, 오른쪽 아래에 build.gradle 변경이 있으니 반영하라는 알람이 나온다. Enable Auto-import를 선택해줘서, 변경이 있을 때마다 자동으로 반영하도록 설정한다.
      • 모두 받게 되면, gradle탭에서 main에는 spring-boot-start-web이, test에는 spring-boot-start-web, spring-boot-start-tests 의존성이 잘 받아진 것을 확인할 수 있다.

    인텔리제이에서 깃과 깃허브 사용하기

    • 평소에 Git bash를 사용하고 있지만, 유용한 것 같아서 책에 따라 진행해봤다.

    • 윈도우 : [ Ctrl + Shift + A ], 맥 : [ Command + Shift + A ] 를 통해 검색창 단축키를 연다.

    • share project on Github을 검색한다.

    • ID와 Password를 입력하면, Repository name과 remote, description을 입력하는 창이 뜬다.

      • 보통 프로젝트 이름과 깃 저장소 이름은 같게 쓰니까 그대로 등록한다.
    • Share 버튼을 클릭하면, 깃허브 저장소와 동기화를 진행한다.

      • 이 때, 커밋 항목으로 추가할 것인지 묻는 안내문이 나오는데 No를 선택해준다.
      • commit 팝업창이 뜨면, .gradle과 .idea는 비활성화해주고 커밋 메세지를 작성한다.
      • OK 버튼을 누르면 commit과 push가 진행됨. (간편해서 너무 좋았다.)
    • .gitignore 추가하기

      • 인텔리제이는 gitignore를 제공하지 않기 때문에, 플러그인을 이용해야한다.
      • [Ctrl / Command + Shift + A] 를 통해 Action 검색창을 열어 plugins를 검색한다.
      • Plugins Action을 선택하면 플러그인 설치 팝업창이 나온다.
      • Marketplace에서 ignore를 검색하고 인스톨해준다.
      • 인스톨 후 IntellJ 재부팅을 해줘야 반영됨.
      • 프로젝트에 ignore 파일을 만들어서 .gradle과 .idea를 추가한다.
    • commit과 push

      • Ctrl + k => 커밋 창
      • Ctrl + Shift + k => 푸시 창
    반응형

    댓글

Designed by Tistory.