plugins { id 'java' id 'org.springframework.boot' version '3.3.0' // 또는 3.2.5 id 'io.spring.dependency-management' version '1.1.5' // 최신 버전으로 업데이트 } group = 'company.specialsource' version = '0.0.1-SNAPSHOT' description = 'specialsource-homepage-backend' java { toolchain { languageVersion = JavaLanguageVersion.of(21) // Temurin 21 사용 설정 } } repositories { mavenCentral() } dependencies { // 1. 핵심 웹 및 API (Vue.js와 통신을 위해 필요) implementation 'org.springframework.boot:spring-boot-starter-web' // webmvc 대신 표준 starter-web 사용 권장 // 2. 보안 및 인증 (Spring Security) implementation 'org.springframework.boot:spring-boot-starter-security' // 3. 데이터베이스 (JPA + PostgreSQL) implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'org.postgresql:postgresql' // PostgreSQL 드라이버 추가 (필수!) // 4. 화면 엔진 (Thymeleaf - 프런트를 Vue로 하더라도 초기 설정/오류 페이지용으로 유지 권장) implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6' // 5. 개발 편의성 도구 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' developmentOnly 'org.springframework.boot:spring-boot-devtools' // 6. 테스트 도구 (필요 없는 -test 접미사 정리) testImplementation 'org.springframework.boot:spring-boot-starter-test' testImplementation 'org.springframework.security:spring-security-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' // Jasypt Spring Boot Starter implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.5' // JWT 관련 의존성 (최신 0.12.x 버전 기준) implementation 'io.jsonwebtoken:jjwt-api:0.12.5' runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.12.5' runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.12.5' // JSON 파싱용 } tasks.named('test') { useJUnitPlatform() }