이 글은 이동욱 님의 스프링 부트와 AWS로 혼자 구현하는 웹 서비스를 읽고 정리한 글입니다.
1. 인텔리제이 소개
자바 웹 개발 IDE의 쌍두마차가 있다. 바로 이클립스 재단의 '이클립스'와 젯브레인즈의 '인텔리제이'다.
이 책의 저자는 이클립스에 비해 인텔리제이가 다음과 같은 장점이 있어 추천하신다고 한다.
- 강력한 추천 기능
- 훨씬 더 다양한 리팩토링과 디버깅 기능
- 이클립스의 Git보다 훨씬 높은 자유도
- 프로젝트 시작 시 인덱싱을 하여 파일을 비롯한 다양한 자원에 대한 빠른 검색 속도
- HTML, CSS, JS, XML에 대한 강력한 기능 지원
- 자바, 스프링 부트 버전업에 맞춘 빠른 업데이트
실제로 네이버, 카카오, 라인, 쿠팡, 우아한형제들 다양한 IT 서비스 기업에선 현재 인텔리제이를 공식 IDE로 사용하고 있다고 한다. 구글도 인텔리제이를 선택하여 공식 개발 도구인 안드로이드 스튜디오를 개발했다고 한다. 이런 사례들이 인텔리제이의 강력함을 증명한다고 볼 수 있다.
다만, 이클립스는 무료임에 비해 인텔리제이는 유료(개인 149달러, 회사 499달러)라는 부분이 흠이다.
2. 인텔리제이 설치
이 책의 저자가 추천하신 대로 젯브레인 툴박스를 설치해도 되고,
바로 IntelliJ를 다운 받아도 된다.
필자도 이미 IntelliJ가 깔려있으나 버전 관리의 편리성을 위해 젯브레인 툴박스를 설치했다.
3. 프로젝트 생성하기
인텔리제이 커뮤니티가 아닌 인텔리제이 얼티메이트라 그런지 책에 나온 방법과는 다르게 아래와 같은 방법으로 Gradle 프로젝트를 생성하였다.
책과 동일한 버전을 맞추기 위해서 JDK 1.8을 설치했다.
또 호환성을 위해 Gradle도 아래와 같은 명령어를 터미널에 입력함으로써 4.10.2 버전으로 변경하였다.
gradlew wrapper --gradle-version 4.10.2
4. 그레이들 프로젝트를 스프링 부트 프로젝트로 변경하기
원래는 Spring Initializr를 사용하여 간단하게 Gradle 설정을 마칠 수 있으나, 충분히 이해하기 위해 직접 코드를 입력하는 과정을 거쳤다.
책과 살짝 다르긴 하지만 위처럼 Gradle 파일이 생성되었다.
plugins {
id 'java'
}
group 'org.example'
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
}
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
}
test {
useJUnitPlatform()
}
책과 똑같이 만들기 위해 변경하면
buildscript {
ext { // build.gradle에서 사용할 전역 변수 설정
springBootVersion = '2.1.7.RELEASE'
}
repositories {
mavenCentral()
jcenter()
}
dependencies { // spring-boot-gradle-plugin라는 스프링 부트 그레이들 플러그인의 2.1.7.RELEASE를 의존성으로 받겠다.
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.coatato.study.SpringnAWS'
version '1.0-SNAPSHOT'
repositories { // 각종 의존성(라이브러리)들을 어떤 원격 저장소에서 받을 것인지
mavenCentral() // 기본으로 많이 사용함
jcenter() // 라이브러리 업로드 난이도 때문에 많이 사용함 (라이브러리 업로드를 간단하게 해줌)
}
dependencies { // 프로젝트 개발에 필요한 의존성들을 선언
compile('org.springframework.boot:spring-boot-starter-web')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
다음과 같이 의존성들이 잘 받아졌음을 확인할 수 있다.
5. 인텔리제이에서 깃과 깃허브 사용하기
Git(깃)은 대부분의 기업, 사람들이 사용하는 버전 관리 시스템이다. 이를 인텔리제이에서 사용해 보자.
인텔리제이에서 [Ctrl + Shift + A] 단축키로 Action 검색 창을 띄운 후에 Share Project on Github을 검색하여 이를 실행하면 Github 로그인 창이 나온다.
로그인까지 완료하면 다음과 같이 저장소 정보를 입력하는 창이 나온다.
이름과 설명을 추가하고, 공유 버튼을 클릭하면 다음과 같이 커밋창이 나오는데
.idea 디렉토리는 프로젝트 시작 시에 자동으로 생성되는 파일이므로 이를 제외하고, Github에 업로드한다.
원격 저장소에 push가 성공하였음을 확인할 수 있다.
다음으로 .gitignore를 추가하기 위해 플러그인 .gitignore를 설치하자. 설치가 완료되었으면 재시작을 하고 프로젝트에 .gitignore 파일을 추가한다.
Generate 버튼을 누르면, .gitignore 파일이 생성되고 생성된 파일에 다음과 같이 입력한다.
.gradle
.idea
위와 같이 설정함으로써 앞으로의 모든 커밋 대상에서 gradle 디렉토리와 idea 디렉토리는 제외된다.
마지막으로 [Ctrl + K] 단축키로 Commit을 수행하고, [Ctrl + Shift + K] 단축키로 Github 저장소로 push 한다.
다음과 같이 Github에도 .gitignore 파일이 push 되었음을 확인할 수 있다.
이렇게 스프링 부트 프로젝트 개발 환경설정이 끝이 났다.
'개발 > 스프링 부트와 AWS로 혼자 구현하는 웹 서비스' 카테고리의 다른 글
[Spring Boot & AWS] Chpt 6 - AWS 서버 환경을 만들어보자 - AWS EC2 (0) | 2023.01.24 |
---|---|
[Spring Boot & AWS] Chpt 5 - 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 (0) | 2023.01.23 |
[Spring Boot & AWS] Chpt 4 - 머스테치로 화면 구성하기 (0) | 2023.01.18 |
[Spring Boot & AWS] Chpt 3 - 스프링 부트에서 JPA로 데이터베이스 다뤄보자 (0) | 2023.01.13 |
[Spring Boot & AWS] Chpt 2 - 스프링 부트에서 테스트 코드를 작성하자 (0) | 2023.01.11 |