[1. Spring boot] 인텔리제이로 스프링 부트 시작하기

박현우·2021년 3월 9일
0

Spring

목록 보기
1/11

보통 자바로 웹 개발이나 알고리즘 공부 등을 할 때 쓰이는 개발 도구로는 이클립스, VScode, 인텔리제이 등을 많이 사용합니다. 저도 실제로 처음 자바를 배울때나 학교 프로젝트에서 톰캣 서버 등을 활용할 때 이클립스를 많이 사용했습니다. 하지만 스프링 부트를 개발할 땐 인텔리제이를 써야하는 이유가 있습니다. 바로 다음과 같은 장점이 있기 때문입니다.


인텔리제이의 장점

  • 강력한 추천 기능
  • 다양한 리팩토링과 디버깅 기능
  • 이클립스의 Git에 비해 높은 자유도
  • Maven, Gradle과 같은 빌드 도구 지원
  • Git과 같은 버전 관리 시스템 기능 지원

하지만, 무료 버전의 경우 HTML, CSS, JS에 대한 지원이 없다고 합니다..


그레이들 프로젝트 -> 스프링 부트 프로젝트

처음 인텔리제이로 그레이들 프로젝트를 만들면 build.gradle 파일이 있습니다. build.gradle에서 프로젝트의 빌드 방법, SDK 버전, 의존성을 주입시킬 라이브러리 등을 모두 정의합니다.

그레이들(Gradle)이란?

소스 코드와 의존성 라이브러리를 엮어 컴파일하여 패키징하는 빌드 도구를 의미합니다. 같은 빌드 도구들인 Ant와 Maven의 장점을 골라 만든 빌드 도구이기도 합니다.

build.gradle의 내용을 다음과 같이 변경합니다.

buildscript {
    ext { // 이 파일에서 사용할 전역변수를 설정하겠습니다.
        springBootVersion = '2.1.7.RELEASE'

        // 스프링 부트 그레이들 플러그인의 2.1.7릴리즈를 의존성으로 받겠다.
    }
    repositories {
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}
// 4개의 플러그인은 자바와 스프링 부트를 사용하려면 반드시 있어야 함
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
//plugins {
//    id 'java'
//}

group 'org.example'
version '1.0-SNAPSHOT'

repositories { // 각종 의존성(라이브러리)들을 어떤 원격 저장소에서 받을지 정함
    // 저장소 중 하나, 라이브러리 업로드를 위해 많은 과정과 설명이 필요
    mavenCentral()
    // 위 저장소의 문제를 개선
    jcenter()
}

dependencies {
    // 여기서 버전을 쓰면 위에 작성한 버전을 못따라가니 주의!!
    compile('org.springframework.boot:spring-boot-starter-web')
    testCompile('org.springframework.boot:spring-boot-starter-test')
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
}

test {
    useJUnitPlatform()
}

그 다음 gradle을 살펴보면 다음 그림과 같이 build에서 설정했던 버젼대로 의존성이 잘 받아진 것을 확인할 수 있습니다.
후에 빌드 버젼을 바꾸려면 build.gradle에서 바꿔주면 되겠죠?


Git 연결하기

Git은 프로그래머들이 가장 많이 사용하는 무료 형상 관리 툴입니다. 분산형 관리 시스템으로 다음과 같은 특징이 있습니다.

  • 하나의 프로젝트를 여러명이서 병렬적으로 개발 가능
  • 같은 파일을 동시에 작업할 수 있습니다.
  • 배포와 더불어 좀 더 체계적인 프로젝트 관리를 할 수 있습니다.
  • 버전에 문제가 생겨 되돌아 가야 할 때 쉽게 되돌아 가는 것이 가능합니다.

인텔리제이에서는 프로젝트를 깃허브에 연동하여 원격저장소(repository)를 만들고 프로젝트를 좀 더 쉽게 관리할 수 있습니다.

	윈도우 = Ctrl + Shift + A
	Mac = Command + Shift + A

를 이용해 Action 검색창을 열 수 있습니다. share project on github 검색 후 저장소를 만들 수 있습니다.

.idea 폴더를 커밋 대상에서 제외했는데, 이처럼 깃에서 특정 디렉토리를 커밋 대상에서 제외할때는 .gitignore 파일을 사용합니다. 인텔리제이에서는 기본적으로 제공하지 않기 때문에 플러그인에서 설치하셔야 합니다.

그러면 다음과 같이 프로젝트 우클릭시 .ignore 파일을 생성할 수 있게 됩니다. 파일 생성후 제외할 확장자명을 명시하면 파일안의 확장자들은 자동적으로 git commit에 제외됩니다.

	커밋 = Ctrl + k
	푸시 = Ctrl + Shift + k

위 단축키로 인텔리제이에서 빠르게 커밋, 푸시할 파일들을 살펴볼 수 있고 수행도 가능합니다.


0개의 댓글