스프링 AOP 구현 김영한님의 스프링 원리 - 고급편 강의를 바탕으로 스프링 AOP의 구현 방법과 단계별 진화 과정, 그리고 다양한 어드바이스 종류를 정리함 프로젝트 설정 build.gradle implementation 'org.springframework.boot:spring-boot-starter-aspectj' ...
[스프링 핵심 원리 - 고급편] 스프링 AOP 개념
스프링 AOP 개념 김영한님의 스프링 원리 - 고급편 강의를 바탕으로 AOP의 등장 배경과 주요 개념, 적용 방식, 용어 정리, 그리고 스프링 AOP와 AspectJ의 차이를 정리함 핵심 기능과 부가 기능 개요 애플리케이션 로직은 크게 두 가지로 구분됨 구분 ...
[스프링 핵심 원리 - 고급편] @Aspect AOP
@Aspect AOP 김영한님의 스프링 원리 - 고급편 강의를 바탕으로 @Aspect 애노테이션을 활용한 편리한 프록시 적용 방법과 스프링 자동 프록시 생성기의 동작 원리, 그리고 횡단 관심사 개념을 정리함 @Aspect 프록시 - 적용 개요 지금까지는 Advisor(포인트컷 + 어드바이스)를 직접 빈으로 등록하는 방식을 사용했...
[스프링 핵심 원리 - 고급편] 빈 후처리기
빈 후처리기 김영한님의 스프링 원리 - 고급편 강의를 바탕으로 스프링 빈 생명주기를 가로채어 객체를 조작하거나 프록시로 교체하는 빈 후처리기 개념과 자동 프록시 생성기의 동작 방식을 이해하고 정리함 빈 후처리기 - 소개 일반적인 스프링 빈 등록 흐름 빈 후처리기란? 스프링이 생성한 객체를 빈 저장소에 정식으로 등록하기 직전...
[스프링 핵심 원리 - 고급편] 스프링이 지원하는 프록시
스프링이 지원하는 프록시 김영한님의 스프링 원리 - 고급편 강의를 바탕으로 스프링이 제공하는 ProxyFactory와 Pointcut, Advice, Advisor의 개념을 정리함 프록시 팩토리 (ProxyFactory) 기존 동적 프록시 기술의 한계 기술 선택의 분리 인터페이스 유무에 따라 JDK 동적 프록시...
[스프링 핵심 원리 - 고급편] 동적 프록시 기술
동적 프록시 기술 김영한님의 스프링 원리 - 고급편 강의를 바탕으로 동적 프록시 기술의 개념과 JDK 동적 프록시, CGLIB의 차이를 이해하고 활용 방법을 정리함 리플렉션(Reflection) 개념 프록시 클래스를 대상 클래스마다 직접 만들면, 코드 흐름은 같고 호출 메서드만 다른 중복이 발생함 리플렉션은 클래스나 메서드의 ...
[스프링 핵심 원리 - 고급편] 프록시 패턴과 데코레이터 패턴
프록시 패턴과 데코레이터 패턴 김영한님의 스프링 원리 - 고급편 강의를 바탕으로 프록시 패턴과 데코레이터 패턴의 개념을 이해하고, 원본 코드를 수정하지 않고 다양한 부가 기능을 동적으로 추가하는 방법을 정리함 프록시(Proxy)란? 클라이언트-서버 구조에서의 프록시 클라이언트가 서버를 직접 호출하지 않고, 대리자(Pro...
[스프링 핵심 원리 - 고급편] 템플릿 메서드 패턴과 콜백 패턴
템플릿 메서드 패턴과 콜백 패턴 김영한님의 스프링 핵심 원리 - 고급편 강의를 바탕으로, 핵심 기능과 부가 기능이 섞이는 문제를 템플릿 메서드 패턴 → 전략 패턴 → 템플릿 콜백 패턴으로 단계적으로 개선하는 과정을 정리함 문제 상황 - 핵심 기능과 부가 기능 로그 추적기를 도입하면 원래 깔끔하던 비즈니스 로직에 부가 기능...
[스프링 핵심 원리 - 고급편] 쓰레드 로컬 - ThreadLocal
쓰레드 로컬 - ThreadLocal 김영한님의 스프링 핵심 원리 - 고급편 강의를 바탕으로 TraceId를 필드로 동기화하는 방식의 동시성 문제를 분석하고, ThreadLocal을 활용하여 해결하는 과정을 정리함 필드 동기화 - 개발 V2에서는 TraceId를 파라미터로 넘기다 보니 모든 메서드에 불필요한 인자가 퍼져나가는 구조...
[스프링 핵심 원리 - 고급편] 예제 만들기
예제 만들기 김영한님의 스프링 핵심 원리 - 고급편 강의를 바탕으로 프로젝트를 생성하고, 상품 주문 예제를 구현한 뒤, 로그 추적기 V1~V2를 단계적으로 개발하고 적용하는 과정을 정리함 예제 프로젝트 V0 상품 주문 프로세스를 기반으로 Controller - Service - Repository 흐름을 단순하게 구현함 ...