일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- C++
- marksense.ai
- 양방향 매핑
- pandas
- Loss Function
- html
- react native
- oauth
- google login
- 졸프
- google cloud
- AWS
- STT
- Spring Boot
- yolo
- skt fellowship 3기
- Expo
- 순환참조
- idToken
- 2021 제9회 문화공공데이터 활용경진대회
- matplotlib
- 커스텀 데이터 학습
- google 로그인
- JPA
- Spring
- 코드업
- OG tag
- @Transactional
- javascript
- YOLOv5
Archives
- Today
- Total
민팽로그
스프링 부트 시작: 인텔리제이&Gradle 본문
1. 인텔리제이 장점
- 강력한 추천 기능
- 다양한 리팩토링과 디버깅 기능
- 깃 사용 용이
- 프로젝트 시작 시 인덱싱을 하여 파일을 비롯한 자원들에 대한 빠른 검색 가능
- HTML, CSS, JS, XML에 대한 강력한 기능 지원
- 자바, 스프링 부트 버전업에 대한 빠른 업데이트
2. Gradle 프로젝트 이해
아직 프로젝트에 maven을 사용하는 곳이 많지만, gradle은 빌드 속도가 더 빠르고 maven의 단점을 보완하여 나온 것이기 때문에 사용하는 것이라고 한다.
처음 공부할 땐 spring initializr로 무조건 스프링 부트 프로젝트를 만들었는데 build.gradle 파일의 역할을 이해하지 못하고 무조건 개발했었다. 책 공부를 하면서 좀 더 알게된듯! 일단 이 책에서는 gradle 버전 4, spring boot 버전 2.1을 사용하고 있다. 1년 사이에 업데이트가 빠르게 진행되어 현재 나는 gradle 버전 6, spring boot 버전 2.4를 사용하고 있어서 책의 코드에서 수정이 많았다.
1) Gradle 4.x
buildscript {
//ext: build.gradle에서 사용하는 전역변수 설정 가능
ext {
// 전역변수 springBootVersion의 값은 2.1.9.RELEASE
springBootVersion = '2.1.9.RELEASE'
}
repositories {
mavenCentral()
jcenter() // 22년 2월 1일부터 서비스 종료됨
}
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.minpaeng.book'
version '1.0.4-SNAPSHOT-'+new Date().format("yyyyMMddHHmmss")
sourceCompatibility = 1.8
//의존성을 가져 올 저장소
repositories {
mavenCentral()
jcenter()
}
//프로젝트 개발에 필요한 의존성 선언
//특정 버전을 명시하지 않아야 위에서 명시한 버전에 따라 관리할 수 있음
dependencies {
compile('org.springframework.boot:spring-boot-starter-web')
compile('org.projectlombok:lombok')
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('com.h2database:h2')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
2) Gradle 6.x
//플러그인 관리
plugins {
id 'org.springframework.boot' version '2.4.1'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
group 'com.minpaeng'
version '0.0.1-SNAPSHOT'+new Date().format("yyyyMMddHHmmss")
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
//Junit 5를 사용하기 위한 코드(테스트 시 필요)
test {
useJUnitPlatform()
}
dependencies {
implementation('org.springframework.boot:spring-boot-starter-web')
implementation 'org.springframework.boot:spring-boot-starter-data-jpa')
implementation ('com.h2database:h2')
implementation('org.projectlombok:lombok')
annotationProcessor('org.projectlombok:lombok')
testImplementation('org.projectlombok:lombok')
testAnnotationProcessor('org.projectlombok:lombok')
testImplementation('org.springframework.boot:spring-boot-starter-test')
}
gradle 6.x는 4.x의 buildScript를 사용하지 않고 plugins를 통해 플러그인을 관리하는 정도의 변화가 있다.
reference
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 - 이동욱
- https://madplay.github.io/post/the-structure-of-the-gradle-project
'🍃spring boot' 카테고리의 다른 글
스프링 부트: JPA로 DB 다루기 (0) | 2022.02.12 |
---|---|
스프링 부트: 테스트 코드 작성, 간단한 어노테이션 기능 정리, 롬복 (0) | 2022.02.12 |
spring 의존성 주입 3가지 방법 (0) | 2021.12.13 |
스프링 AOP 개념 간단 이해 (0) | 2021.09.14 |
[OAuth] 웹에서 카카오 소셜 로그인 (0) | 2021.09.13 |
Comments