백엔드개발 2

Gradle 의존성 정리

implementation, api, compileOnly, runtimeOnly 차이?이름만 보고 쓰기엔 헷갈려서 정리해두기로 했다. ✅ 기본 개념 요약키워드상황컴파일 시 포함실행 시 포함다른 모듈에서 사용implementation내부 구현용. 외부에는 노출하지 않음✅✅❌api외부에 노출되는 라이브러리✅✅✅compileOnly컴파일만 필요. 실행 시엔 없어야 함✅❌❌runtimeOnly런타임에만 필요. 컴파일엔 불필요❌✅❌ 📌 키워드별 설명과 예시1. implementationimplementation 'org.springframework.boot:spring-boot-starter-web' 대부분의 의존성은 이걸로 선언하면 충분하다.implementation은 다른 모듈에서 이 모듈을 의존하더라도..

DevLog/Java 2025.04.25

Java와 Spring Boot 버전 조합 정리

Java 몇 버전에 Spring Boot 뭐 써야 하지?그래서 그 결과를 LTS 중심으로 정리해두기로 했다. ✅ Java 버전별 특징 (LTS 기준)버전출시주요 특징비고82014람다, Stream API, Optional, java.time레거시의 주력, 여전히 많이 사용됨112018var, HttpClient, isBlank, GC 개선Java 8 이후 가장 안정적으로 자리잡은 버전172021record, sealed class, switch 개선, 텍스트 블록Spring Boot 3.x의 최소 요구 버전212023패턴 매칭, 가상 쓰레드 (Virtual Threads)최신 LTS, 일부 기능은 실험적 적용 단계💡 Java는 8 이후로 6개월 주기의 릴리스 체계를 따르며, 주요 LTS는 11, 17,..

DevLog/Java 2025.04.25