CH01 - 인텔리제이로 스프링 부트 시작하기
인텔리제이의 장점
- 강력한 추천 기능
- 다양한 리팩토링과 디버깅 기능
- Git 의 자유도
- 프로젝트 파일 인덱싱을 통해 빠른 검색 속도
- HTML 과 CSS, JS, XML 에 대한 강력한 기능 지원
- 발빠른 업데이트
프로젝트 생성
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 전역변수 생성
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
- 선언한 플러그인 의존성들을 적용할 것인지를 결정하는 코드
- io.spring.dependency-management 플러그인
- 스프링 부트의 의존성들을 관리해 주는 플러그인
- 위 4개는 자바와 스프링부트를 사용하기 위한 필수 플러그인
repositories {
mavenCentral()
jcenter()
}
dependencies {
complie('org.springframework.boot:spring-boot-starter-web')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
- repositorties
- 각종 의존성 (라이브러리) 들을 어떤 원격 저장소에서 받을지 정한다.
- 기본적으로 mavenCentral 을 많이 사용
- 라이브러리 업로드 난이도 때문에 jcenter 도 많이 사용
- 라이브러리 업로드가 간단함
- jcenter 에 업로드하면 mavenCentral 에도 업로드 자동화
- dependencies
- 프로젝트 개발에 필요한 의존성들을 선언하는 곳
- 특정 버전을 명시하면 안된다.
org.springframework.boot::spring-boot-gradle-plugin:$**{**springBootVersion**}
의 버전을 따라가기 위해**
- 각 라이브러리들의 버전 관리가 한 곳에 집중
- 버전 충돌 문제도 해결
github 연동
- share project on github 기능을 이용한 연동
- .idea 디렉토리 같은 경로는 .gitignore 파일을 통해 제외