2020. 9. 15. 13:49ㆍSpring/Spring Boot
1. 스프링 부트
1) IntelliJ
스프링 부트로 개발함에 있어서 IntelliJ는 개발에 필요한 많은 기능을 지원한다. 실제 많은 IT 서비스 회사에서도 사용하고 있을 정도로 많은 기업에서 사용하는 IDE이다. 이클립스와 달리 Workspace 개념이 없기에 한번에 하나의 프로젝트만 생성하거나 불러올 수 있다.
2) 프로젝트 생성
3) 프로젝트 변경
Gradle 프로젝트를 스프링 부트 프로젝트로 변경한다. (스프링 이니셜라이저를 통해 쉽게 프로잭트 구성이 가능하지만, build.gradle 파일의 역할을 이해하기 위해 사용하지 않는다.) 모든 설정이 완료가 되면 Load하여 Gradle이 변경된 내용을 반영한다.
설정 | 설명 |
ext | build.gradle에서 사용하는 전역변수 설정이다. |
apply plugin: * | 플러그인 의존성을 적용하는 코드이다. 'io.spring.dependency-management'는 스프링 부트 의존성을 관리해주기에 필수로 적용해주어야 하는 플러그인이다. |
repositories | 각종 의존성을 다운받기 위한 라이브러리들의 원격 저장소 위치이다. |
mavenCentral | 이전부터 많이 사용하는 저장소이다. 개발자 본인이 만든 라이브러리를 업로드하기 위해 많은 과정과 설정이 요구되는 번거로움이 있다. |
jcenter | mavenCentral의 번거로운 라이브러리 업로드를 간단하게 처리해준다. jcenter에 라이브러리를 업로드하게 될 경우, mavenCentral에도 업로드 될 수 있도록 자동화가 가능하다. |
dependencies | 프로젝트 개발에 필요한 의존성들을 선언하는 곳이다. |
※ IntelliJ는 Maven 저장소의 데이터를 인덱싱하여 관리하기에 의존성 자동완성이 가능하다. ctrl + space 단축키로 적용되는 라이브러리 목록을 확인할 수 있다. 의존성 코드는 직접 작성하거나 자동완성으로 적용하되, 버전을 명시하지 않고 ext 전역 설정으로 명시한 버전을 따라가도록 설정해야한다. (버전 통일 시, 간편하게 관리할 수 있다.)
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.springbook.biz'
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
jcenter()
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-web')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
4) Gradle 의존성 확인
2. Git, .gitignore
대부분 회사에서는 깃으로 버전 관리를 하고 있다. IntelliJ를 이용하여 간단하게 깃허브 연동이 가능하다. 'Ctrl + Shift + k / Command + Shift + k' 단축키로 간단하게 푸시할 수 있고, IntelliJ에서 프로젝트 실행 시 자동으로 생성되는 파일인 .idea, .gradle 디렉토리를 .gitignore에 추가하여 커밋 대상에서 제외하도록 처리를 한다. (.gitignore 파일은 '.ignore' 플러그인을 통해 생성이 가능하다.)
[참고] 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
'Spring > Spring Boot' 카테고리의 다른 글
[Spring Boot] 간단한 API 제작 (0) | 2020.09.16 |
---|---|
[Spring Boot] 스프링 부트 JPA (0) | 2020.09.16 |
[Spring Boot] 스프링 부트 롬복 (0) | 2020.09.15 |
[Spring Boot] 스프링 부트 테스트 코드 (0) | 2020.09.15 |