본문 바로가기

Spring Boot18

Spring Boot 3.x + Security 6.x JWT 인증 구현 가이드 안녕하세요! 오늘은 Spring Boot 3.x 환경에서 JWT(JSON Web Token)를 이용한 인증 시스템을 처음부터 끝까지 구현해보겠습니다.이 글에서는 이론보다는 실제 동작하는 코드에 집중하여, 여러분이 바로 프로젝트에 적용할 수 있도록 구성했습니다.🎯 구현 목표Access Token과 Refresh Token을 활용한 JWT 인증Spring Security 6.x 기반 보안 설정로그인, 토큰 갱신 API 구현실무에서 바로 사용 가능한 완전한 코드📦 1. 의존성 추가먼저 build.gradle에 필요한 의존성을 추가합니다.dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implement.. 2025. 12. 23.
SockJS란? 실시간 통신을 위한 WebSocket 대안 들어가며웹 애플리케이션에서 실시간 양방향 통신이 필요한 경우가 많습니다. 채팅, 알림, 실시간 데이터 업데이트 등이 대표적인 예입니다. WebSocket이 이런 기능의 표준이지만, 모든 브라우저나 네트워크 환경에서 지원되는 것은 아닙니다. 이때 SockJS가 해결책이 됩니다.SockJS가 뭔가요?SockJS는 WebSocket과 유사한 API를 제공하는 JavaScript 라이브러리입니다. WebSocket을 우선적으로 사용하지만, WebSocket을 지원하지 않는 환경에서는 자동으로 다른 전송 방식(폴링, 스트리밍 등)으로 폴백(fallback)합니다.주요 특징✅ 브라우저 호환성: 오래된 브라우저도 지원✅ 프록시/방화벽 통과: WebSocket이 막혀있어도 작동✅ 투명한 폴백: 개발자가 신경 쓸 필요 .. 2025. 12. 11.
Spring RestTemplate vs WebClient 가이드 안녕하세요! 오늘은 Spring에서 HTTP 통신을 위해 사용하는 RestTemplate과 WebClient를 알아보겠습니다. 메모리 누수 없이 안전하게 재사용하는 방법까지 완벽하게 정리해드립니다!1. RestTemplate vs WebClient 비교RestTemplate동기 방식 - 요청을 보내고 응답을 받을 때까지 스레드가 블로킹됩니다.Spring 3.0부터 사용 - 오래된 API이지만 안정적입니다.Deprecated 예정 - Spring 5.0부터 유지보수 모드이며, WebClient 사용을 권장합니다.간단한 사용법 - 동기 방식이라 코드가 직관적입니다.WebClient비동기/논블로킹 - Reactive 방식으로 동작하며, 높은 처리량을 제공합니다.Spring 5.0부터 추가 - WebFlux의 .. 2025. 12. 8.
Spring에서 Caffeine 캐시 완벽 가이드 안녕하세요! 오늘은 Spring에서 Caffeine 캐시를 사용하는 방법을 알아보겠습니다. Caffeine은 Java 8 기반의 고성능 캐싱 라이브러리로, Spring Cache 추상화와 완벽하게 통합됩니다!1. Caffeine이란?Caffeine은 Google의 Guava 캐시를 기반으로 만들어진 고성능 Java 캐싱 라이브러리입니다. Spring Boot 2.x부터는 기본 캐시 구현체로 Caffeine을 권장하고 있습니다.Caffeine의 장점뛰어난 성능 - 읽기/쓰기 속도가 매우 빠르며, 멀티스레드 환경에서도 안정적입니다.다양한 만료 정책 - 시간 기반, 크기 기반, 참조 기반 등 다양한 만료 정책을 지원합니다.자동 로딩 - CacheLoader를 통해 캐시 미스 시 자동으로 데이터를 로드할 수 있.. 2025. 12. 5.
Spring Tag 라이브러리로 JSP include시 id 겹침 방지 JSP Include 시 ID 중복 방지하는 법안녕하세요! 오늘은 JSP를 include로 사용할 때 element id값이 겹쳐서 골치 아팠던 경험, 다들 있으시죠? 이 문제를 깔끔하게 해결하는 방법을 소개합니다!여러분은 JSP include 시 ID 중복 문제를 어떻게 해결하고 계신가요? 댓글로 경험을 공유해주세요!문제 상황JSP를 include 해서 사용하다보면 element id값이 겹치는 경우가 많아 여간 골치아픈게 아닙니다. 같은 JSP 파일을 여러 번 include하면 동일한 id가 여러 개 생겨서 JavaScript나 CSS 선택자가 제대로 동작하지 않죠.예를 들어 이런 상황입니다: 해결 방법: UUID 활용Spring의 태그와 UUID를 활용하면 이 문제를 깔끔하게 해결할 수 있습니.. 2025. 1. 3.
Google zxing 을 이용하여 QRCode 만들기! 안녕하세요! 오늘은 Spring 프로젝트에서 QR 코드를 쉽게 생성하는 방법을 알아보겠습니다. Google의 ZXing 라이브러리를 활용하면 정말 간단하게 구현할 수 있어요!여러분은 프로젝트에 QR 코드 기능을 추가해보신 적 있으신가요? 댓글로 경험을 공유해주세요! 1. Maven 의존성 추가하기먼저 pom.xml에 ZXing 라이브러리를 추가해야 합니다. ZXing은 Google에서 만든 강력한 바코드 및 QR 코드 처리 라이브러리입니다. com.google.zxing core 3.5.3최신 버전을 사용하고 싶다면 Maven Repository에서 확인해보세요!2. QR 코드 생성기 클래스 만들기이제 실제로 QR 코드를 생성하는 클래스를 만들어봅시다. 텍스트나 URL을 입력하면 이미지로.. 2024. 12. 24.