Framework/Spring(11)
-
Spring Scheduler & Async 처리 흐름 - 정기 작업과 비동기 실행 완전 정복
✅1. @Scheduled - 스케줄링 처리의 핵심 📌기본 개념@Scheduled는 정해진 주기마다 메서드를 실행하는 어노테이션이다.백그라운드에서 자동으로 실행되며 주로 배치 작업, 통계 집계, 외부 API 호출 등 반복 작업에 사용🔧 사용 전 설정@Configuration@EnableSchedulingpublic class SchedulerConfig {}@Componentpublic class SampleScheduler { @Scheduled(fixedDelay = 5000) public void task() { System.out.println("5초마다 실행"); }}2. 다양한 실행 옵션속성설명fixedRate메서드 시작 시점 기준 반복 (밀리초)fixedDel..
2025.07.15 -
Spring MVC 요청 처리 흐름 완전 정복 - DispatcherServlet부터 Controller까지
✅1. Spring MVC란?Model-View-Controller 아키텍처를 기반으로 하는 웹 프레임워크Model : 데이터와 비즈니스 로직View : 사용자에게 보여지는 UIController : 사용자 요청을 받고 적절한 응답을 돌려주는 역할 2. 요청 처리 흐름 한눈에 보기Client ↓DispatcherServlet ↓HandlerMapping ↓HandlerAdapter ↓Controller ↓ModelAndView ↓ViewResolver ↓View (JSP, Thymeleaf 등) ↓Response to Client3. DispatcherServlet : Spring MVC의 핵심 진입점web.xml 또는 Spring Boot에서는 자동 등록되는 Front Controller..
2025.07.02 -
Spring Boot 자동 설정 원리 완전 정복 - @EnableAutoConfiguration 내부에서 벌어지는 일
✅1. Spring Boot의 자동 설정이란?Spring Boot는 @EnableAutoConfiguration을 통해필요한 Bean 설정을 자동으로 구성해주는 기능을 제공한다. 즉, 우리가 DataSource, DispatcherServlet, Jackson, SecurityFilter 등을직접 설정하지 않아도 자동으로 등록해주는 것2. @SpringBootApplication 안에 숨어 있는 핵심@SpringBootApplication사실 이것은 다음 3개의 어노테이션을 묶은 복합 어노테이션이다.@Configuration@ComponentScan@EnableAutoConfiguration이 중 자동 설정의 핵심은 @EnableAutoConfiguration이다.3. @EnableAutoConfigur..
2025.06.25 -
🔐 Spring Security & JWT 인증 흐름 완전 정복 - 로그인 인증부터 토큰 발급, 필터 구조
✅ 1. Spring Security란?Spring 기반 애플리케이션의 인증 (Authentication)과 인가(Authorization)를 담당하는 보안 프레임워크 🔐 기본 역할인증(Authentication) : 사용자가 누구인지 확인인가(Authorization) : 사용자가 특정 리소스에 접근 가능한지 확인2. 인증 방식 비교방식설명특징세션 기반 인증로그인 시 서버가 세션 생성, 클라이언트에 세션 ID 전달서버 메모리에 상태 저장JWT 기반 인증로그인 시 토큰 생성, 클라이언트가 토큰을 저장 후 매 요청에 전송서버는 상태 저장 X (무상태 stateless)최근엔 JWT 기반 인증 방식이 보편화 (특히 REST API)🔑 3. JWT란?JSON Web Token인증 정보와 클레임을 JSON ..
2025.06.24 -
⚠️Spring 예외 처리 완전 정복 - @ControllerAdvice, @ExceptionHandler, 그리고 실무 예외 전략
✅1. 예외 처리의 필요성소프트웨어는 실패하지 않는 것이 아니라, 실패를 어떻게 다루느냐가 중요하다.Spring 애플리케이션에서는 예외를 제대로 처리하지 않으면클라이언트에게 500 에러가 그대로 노출되거나사용자 친화적인 메시지를 전달하지 못하고서비스 전체가 중단될 수 있음-> 그래서 예외 처리를 계층화하고 구조화하는 전략이 필요함 2. 예외 처리 전략의 계층화계층처리 방식Controller@ExceptionHandler, @ControllerAdivceService커스텀 예외 발생 (throw new..)Global필터/인터셉터에서의 처리, 예외 로깅🎯3. Spring MVC에서 예외가 발생했을 때 흐름컨트롤러/서비스에서 예외 발생HandlerExceptionResolver가 예외를 가로채 처리등록된 ..
2025.06.18 -
🔄 Spring의 @Transactional 완전 정복 - 개념, 원리, 동작 방식, 트러블 슈팅까지
✅ 1.트랜잭션이란?하나의 작업 단위를 원자성 있게 처리하기 위한 논리적 작업 묶음모두 성공하거나, 하나라도 실패하면 전체를 롤백해야 함 📌 ACID 원칙항목설명Atomicity(원자성)전부 선공 or 전부 실패 (불완전 상태 금지)Consistency(일관성)작업 후 데이터 정합성 보장Isolation(격리성)동시에 실행되는 트랜잭션 간 간섭 없음Durability(지속성)커밋된 트랜잭션은 영구 반영됨💉 2. Spring의 @Transational이란?Spring AOP 기반으로 구현된 선언적 트랜잭션 처리 방식특정 메서드나 클래스에서 트랜잭션 범위와 롤백/커밋 조건을 선언적으로 지정할 수 있음@Transactionalpublic void order() { saveOrder(); save..
2025.06.11