Spring AOP 프록시의 두 얼굴 — JDK Dynamic Proxy와 CGLIB
Spring에서 @Transactional을 붙였는데 트랜잭션이 적용되지 않은 경험, @Cacheable을 붙였는데 캐시가 동작하지 않은 경험이 한 번쯤은 있을 것입니다. 이 글은 이런 현상의 정체인 Spring AOP 프록시 — JDK Dynamic Proxy와 CGLIB — 의 동작 원리, 두 방식의 차이, 그리고 자주 부딪히는 함정을 코드와 함께 풀어냅니다.
1. 왜 프록시인가
횡단 관심사의 숙제
비즈니스 코드를 작성하다 보면 본질적인...
blog.hyunjun.org9 min read