디비 및 스프링부트 환경 정리
1. 데이터베이스 버전
1. PostgreSQL 16
- PostgreSQL 16.10
- 보안 패치 기간 : 약 2028년 11월, 지원기간 약 5년
- 보안 패치 적용 주기 : 메이저 릴리즈 후 5년간 지원
- Mysql 보다 보안에 유리
2. 자바 버전
- Java : openjdk 21.0.8
- OpenJDK Runtime Environment Temurin-21.0.8+9 (build 21.0.8+9-LTS)
- 보안 패치 기간 : 약 2031년 9월
3. 프레임워크 버전
- kotlin("jvm") 1.9.25
- kotlin("plugin.spring") 1.9.25
- spring boot 3.5.6 (java 21, kotlin 기반)
- io.spring.dependency-management 1.1.7
4. 라이브러리 리스트
1. 프레임워크 기본 라이브러리
- implementation("org.springframework.boot:spring-boot-starter")
- implementation("org.jetbrains.kotlin:kotlin-reflect")
- testImplementation("org.springframework.boot:spring-boot-starter-test")
- testImplementation("org.jetbrains.kotlin:kotlin-test-junit5")
- testRuntimeOnly("org.junit.platform:junit-platform-launcher")
2. 데이터 베이스 관련
- runtimeOnly("org.postgresql:postgresql")
- implementation("org.springframework.boot:spring-boot-starter-data-jpa")
- JPA(하이버네이트) 기반의 ORM 기능 제공
- implementation("org.flywaydb:flyway-core:10.20.1")
- implementation("org.flywaydb:flyway-database-postgresql:10.20.1")
3. 웹/개발 편의
- implementation("org.springframework.boot:spring-boot-starter-web")
- developmentOnly("org.springframework.boot:spring-boot-devtools")
4. 보안/암호화
- implementation("com.google.crypto.tink:tink:1.15.0")
- 구글에서 제공하는 암호화 라이브러리 (AES-GCM 지원, ChaCha20-Poly1305 등 지원)
- implementation("com.auth0:java-jwt:4.4.0")
- implementation("org.springframework.boot:spring-boot-starter-oauth2-client")
- OAuth2 관련 라이브러리, Open Authentication, SNS 로그인 등
- implementation("org.springframework.boot:spring-boot-starter-oauth2-resource-server")
- OAuth2 관련 라이브러리, 자체 서버 인증