콘텐츠로 이동

디비 및 스프링부트 환경 정리

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")
    • flywaydb 디비 마이그레이션 도구
  • implementation("org.flywaydb:flyway-database-postgresql:10.20.1")
    • flywaydb 포스트그래 도구

3. 웹/개발 편의

  • implementation("org.springframework.boot:spring-boot-starter-web")
    • REST API 를 쓰기 위한 프레임워크
  • 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")
    • Json Web Token 관련 라이브러리
  • implementation("org.springframework.boot:spring-boot-starter-oauth2-client")
    • OAuth2 관련 라이브러리, Open Authentication, SNS 로그인 등
  • implementation("org.springframework.boot:spring-boot-starter-oauth2-resource-server")
    • OAuth2 관련 라이브러리, 자체 서버 인증