java11 5

Spring Boot java11 환경에서 JWT 인증 + Refresh Token 적용하기

SPA나 모바일 환경에서 보안성과 확장성을 위해 세션 기반 인증 대신 JWT를 사용하는 경우가 많습니다.이번 포스팅에서는 기본적인 Access Token 인증 방식에 더해 Refresh Token을 이용한 재인증 처리까지 함께 구현하는 방법을 소개합니다. 📦 JWT 구성 요소 정리항목설명Access Token인증 후 API 호출 시 사용되는 JWT (짧은 유효시간)Refresh TokenAccessToken이 만료되었을 때 재발급을 위해 사용하는 토큰 (긴 유효시간)저장소RefreshToken은 Redis 또는 DB에 저장하여 유효성을 관리하는 것이 일반적1. 의존성 추가 (build.gradle)implementation 'io.jsonwebtoken:jjwt-api:0.11.5'runtimeOnly..

BackEND/Java 2025.04.17

Spring Boot에서 Redis 캐시 사용 방법

이번 포스팅에서는 Redis 캐시를 보다 깊이 있게 다루는 방법에 대해 설명드리겠습니다.1. Redis 캐시란?Redis는 인메모리(In-Memory) 데이터 저장소로, 빠른 속도로 데이터를 읽고 쓸 수 있습니다.Spring Boot에서 기본 제공하는 캐시는 JVM 메모리를 활용하는 반면, Redis는 서버 외부에서 캐시를 관리할 수 있어 분산 환경에서도 활용할 수 있습니다.✅ Redis의 주요 특징초고속 성능: 모든 데이터를 메모리에 저장하므로 매우 빠릅니다.데이터 구조 지원: 단순한 Key-Value 저장뿐만 아니라, List, Hash, Set 등 다양한 데이터 구조를 지원합니다.TTL (Time-To-Live) 지원: 설정한 시간이 지나면 자동으로 캐시가 만료됩니다.데이터 지속성 (Persiste..

BackEND/Java 2025.03.29

Spring Boot에서 @Cacheable을 활용하여 캐시를 적용하는 방법

이전 포스팅에서는 Spring Boot에서 캐시를 사용해야 하는 이유를 살펴보았습니다.Spring Boot에서 캐시를 사용해야 하는 이유이번 포스팅에서는 Spring Boot의 @Cacheable을 활용하여 실제로 캐시를 적용하는 방법을 단계별로 설명드리겠습니다.1. Spring Boot에서 캐시 적용하기Spring Boot에서는 @Cacheable을 사용하면 별도의 캐시 저장소 설정 없이도 간단하게 캐시를 적용할 수 있습니다. 기본적으로 메모리 기반 캐시가 제공되며, 필요에 따라 Redis, EhCache 등으로 변경할 수도 있습니다.캐시 적용 순서Spring Boot 프로젝트에 캐시 기능 활성화@Cacheable을 사용하여 캐시 적용@CachePut과 @CacheEvict로 캐시 갱신 및 삭제필요에 ..

BackEND/Java 2025.03.28

Spring Boot에서 캐시를 사용해야 하는 이유

웹 애플리케이션을 개발할 때 성능 최적화는 매우 중요한 요소입니다.특히, 동일한 데이터 요청이 반복적으로 발생하는 경우 캐시를 활용하면 성능을 크게 향상시킬 수 있습니다.이 글에서는 Spring Boot에서 캐시를 사용해야 하는 이유를 정리하고, 간단한 예제를 통해 캐시가 어떻게 성능을 개선하는지 설명해 드리겠습니다.1. 캐시(Cache)란 무엇인가?캐시(Cache) 는 자주 사용되는 데이터를 빠르게 가져올 수 있도록 저장하는 메모리 공간입니다.예를 들어, 데이터베이스에서 특정 데이터를 가져오는 데 1초가 걸린다고 가정하겠습니다.동일한 데이터를 여러 번 요청하면 매번 1초씩 기다려야 하므로 성능이 저하됩니다.하지만 캐시에 데이터를 저장해 두면, 이후 요청 시 데이터베이스가 아닌 캐시에서 즉시 값을 가져올..

BackEND/Java 2025.03.27

Java 11 Spring Boot에서 Swagger 설정 및 사용 방법

Spring Boot에서 API 문서를 자동으로 생성하는 Swagger를 설정하는 방법을 단계별로 정리하였습니다. Swagger를 사용하면 API 문서를 쉽게 관리할 수 있으며, 개발자뿐만 아니라 비개발자도 API를 직관적으로 이해하고 테스트할 수 있습니다.1. Swagger란?Swagger는 RESTful API 문서를 자동으로 생성해주는 도구로, API의 사용 방법을 쉽게 확인하고 테스트할 수 있도록 도와줍니다. 최근에는 Swagger의 발전형인 **OpenAPI Specification (OAS)**가 표준으로 자리 잡았으며, springdoc-openapi 라이브러리를 활용하여 Spring Boot 프로젝트에 쉽게 적용할 수 있습니다.1.1 Swagger의 주요 기능API 문서 자동 생성API 테..

BackEND/Java 2025.03.25