스프링 부트 스타터(<https://start.spring.io/>)
Project: Gradle - Groovy Project
사용 기능: web, thymeleaf, jpa, h2, lombok, validation
groupId: jpabook
artifactId: jpashop
**스프링 부트 3.0을 선택하게 되면 다음 부분을 꼭 확인해주세요.**
1. Java 17 이상을 사용해야 합니다.
2. javax 패키지 이름을 jakarta로 변경해야 합니다.
오라클과 자바 라이센스 문제로 모든 javax 패키지를 jakarta로 변경하기로 했습니다.
3. H2 데이터베이스를 2.1.214 버전 이상 사용해주세요
**패키지 이름 변경 예)**
JPA 애노테이션
-> javax.persistence.Entity jakarta.persistence.Entity
스프링에서 자주 사용하는 @PostConstruct 애노테이션
-> javax.annotation.PostConstruct jakarta.annotation.PostConstruct
스프링에서 자주 사용하는 검증 애노테이션
-> javax.validation jakarta.validatio
스프링 부트 스타터 설정 필독! 주의!
스프링 부트 버전은 2.4.x 버전을 선택해주세요.
자바 버전은 11을 선택해주세요.
Validation (JSR-303 validation with Hibernate validator) 모듈을 꼭! 추가해주세요.(영상에 없습니다.)
필독! 주의!
잘 안되면 다음에 나오는 build.gradle 파일을 그대로 복사해서 사용해주세요. 강의 영상과 차이가 있습니다.
- 스프링 부트 버전이 2.1.x → 2.4.x로 업그레이드 되었습니다.
- validation 모듈이 추가되었습니다. (최신 스프링 부트에서는 직접 추가해야 합니다.)
- 자바 버전이 1.8→ 11로 업그레이드 되었습니다.
plugins {
id 'java'
id 'org.springframework.boot' version '2.7.16'
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}
group = 'jpabook'
version = '0.0.1-SNAPSHOT'
java {
sourceCompatibility = '11'
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}
기본 테스트 케이스 실행
스프링 부트 메인 실행 후 에러페이지로 간단하게 동작 확인(`http://localhost:8080')
1. Preferences plugin lombok 검색 실행 (재시작)
2. Preferences Annotation Processors 검색 Enable annotation processing 체크 (재시작)
3. 임의의 테스트 클래스를 만들고 @Getter, @Setter 확인
./gradlew dependencies —configuration compileClasspath