새로운 마음으로 시작하는 스프링부트, AWS 관련 스터디 ..
1장부터 깃 연동에서 오류가 난 나를 힘껏 도와준 우리 동기들한테 무한 감사 💜
1.1 인텔리제이 소개
- 인텔리제이의 강점
- 강력한 추천 기능 (Smart Completion)
- 훨씬 더 다양한 리팩토링과 디버깅 기능
- 이클립스의 깃(Git)에 비해 훨씬 높은 자유도
- 프로젝트 시작할 때 인덱싱을 하여 파일을 비롯한 자원들에 대한 빠른 검색 속도
- HTML, CSS, JS, XML에 대한 강력한 기능 지원
- 자바, 스프링 부트 버전업에 맞춘 빠른 업데이트
- 인텔리제이 커뮤니티(무료)의 기능
- 자바 개발에 대한 모든 기능 지원
- Maven, Gradle과 같은 빌드 도구 기능 지원
- 깃 & 깃허브와 같은 VCS(버전 관리 시스템) 기능 지원
- 스프링 부트의 경우 톰캣과 같은 별도의 외장 서버 없이 실행 가능
1.2 인텔리제이 설치하기
- 젯브레인 : 제품 전체를 관리해주는 데스크톱 앱, 모든 제품군의 버전 관리와 JVM 옵션 등 조정 가능
- 인텔리제이
1.3 인텔리제이 커뮤니티에서 프로젝트 생성하기
- 인텔리제이에는 프로젝트와 모듈의 개념만 있음
- 인텔리제이는 모든 프로젝트를 한 번에 불러올 수 없음, 한 화면에서는 하나의 프로젝트만 오픈
- 설정
- 프로젝트 유형 : Gradle
1.4 그레이들 프로젝트를 스프링 부트 프로젝트로 변경하기
- build.gradle 파일 수정
- 물론 '스프링 이니셜라이저'로 설정 가능
- 플로그인 의존성 관리를 위한 설정
buildscript{
ext{
springBootVersion = '2.1.9.RELEASE'
}
repositories{
mavenCentral()
jcenter()
}
dependencies{
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
- ext : buid.gradle 에서 사용하는 전역변수를 설정하겠다는 의미
- springBootVersion : 전역 변수를 생성하고 그 값을 ‘2.1.9.RELEASE’로 하겠다는 의미
- = spring-boot-gradle-plugin이라는 스프링 부트 그레이들 플로그인의 2.1.7.RELEASE를 의존성으로 받겠다
- 플로그인 의존성들을 적용할 것인지 결정
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()
}
- repositories : 각종 의존성 (라이브러리)들을 어떤 원격 저장소에서 받을지 결정, 기본적으로 mavenCentral을 많이 사용하지만 최근에는 라이브러리 업로드 난이도 때문에 jcenter도 많이 사용
- mavenCentral : 라이브러리 업로드를 위해 많은 과정과 설정 필요
- jcenter : 라이브러리 업로드를 간단히 함, mavenCentral에도 업로드 될 수 있도록 자동화
dependencies {
implementation('org.springframework.boot:spring-boot-starter-web')
testImplementation('org.springframework.boot:spring-boot-starter-test')
implementation('org.projectlombok:lombok')
}
- dependencies : 프로젝트 개발에 필요한 의존성들 선언
- 인텔리제이는 메이븐 저장소의 데이터를 인덱싱해서 관리하기 때문에 커뮤니티 버전을 사용해도 의존성 자동완성이 가능
- 의존성 코드는 특정 버전을 명시하지 말아야 함, 그래야 가장 위의 "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}"의 버전을 따라가게 됨
- 전체코드
buildscript{
ext{
springBootVersion='2.1.7.RELEASE'
}
repositories{
mavenCentral()
jcenter()
}
dependencies{
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
plugins {
id 'java'
}
group 'org.example'
version '1.0-SNAPSHOT'
sourceCompatibility=1.8
apply plugin:'java'
apply plugin:'eclipse'
apply plugin:'org.springframework.boot'
apply plugin:'io.spring.dependency-management'
repositories {
mavenCentral()
}
dependencies {
implementation('org.springframework.boot:spring-boot-starter-web')
testImplementation('org.springframework.boot:spring-boot-starter-test')
implementation('org.projectlombok:lombok')
}
test {
useJUnitPlatform()
}
1.5 인텔리제이에서 깃과 깃허브 사용하기
- .idea 디렉토리는 커밋 X
- 플러그인 목록에서 .ignore 설치 후 재시
- .gitignore 파일에 코드 추가
.gradle
.idea
끝 !
'Spring > SpringBoot-AWS' 카테고리의 다른 글
[SpringBoot-AWS] Chap05 - 스프링 시큐리티와 OAuth 2.0으로 로그인 기능 구현하기 (0) | 2023.05.10 |
---|---|
[SpringBoot-AWS] Chap04 - 머스테치로 화면 구성하기 (0) | 2023.05.10 |
[SpringBoot-AWS] Chap03 - 스프링 부트에서 JPA로 데이터베이스 다뤄보자 (0) | 2023.03.29 |
[SpringBoot-AWS] Chap 02 - 스프링 부트에서 테스트 코드를 작성하자 (0) | 2023.03.27 |
[SpringBoot-AWS] SpringBoot AWS 스터디 계획 (0) | 2023.03.22 |