spring/aop
-
spring aop - 2편 (proxy)spring/aop 2025. 8. 20. 11:22
1. Proxy 기반 동작 구조 (Spring AOP)Spring AOP는 런타임에 프록시 객체를 만들어서, 클라이언트가 Target Object(비즈니스 로직 객체)를 호출할 때 중간에 Advice를 실행시킵니다.클라이언트 → 프록시 객체 → (Advice 실행) → Target Object(실제 메서드 실행)즉, 클라이언트는 Target Object를 직접 부르지 않고 Proxy 객체를 호출하게 됩니다.Spring이 Bean을 등록할 때 원래 객체 대신 Proxy 객체를 빈으로 등록해두기 때문에, DI/Autowired 시점에 주입되는 것도 사실은 Proxy입니다.1-1. Proxy 객체의 정의Proxy 객체란? → 원래 객체(Target Object)를 대신해서 동작하는 "대리 객체".역할:프록시(..
-
spring aop - 1편(기본 개념)spring/aop 2025. 8. 20. 11:06
1. AOP(관점 지향 프로그래밍, Aspect-Oriented Programming)가 생겨난 이유문제: 객체지향(OOP)만으로는 **흩어져 있는 공통 기능(횡단 관심사, cross-cutting concerns)**을 깔끔하게 분리하기 어려움.예: 모든 메서드 실행 전에 로그 찍기, 트랜잭션 처리, 보안 검사→ 각 메서드에 logger.info("시작"), try/catch, @Transactional 같은 중복 코드가 늘어남.해결책: 핵심 비즈니스 로직과 이런 부가 기능을 분리해서 관리하고, 런타임 시 자동으로 "끼워 넣는" 기술 필요.AOP 등장: 공통 기능을 별도로 정의해두고, "어느 시점(JoinPoint)에, 어떤 방식(Advice)으로 적용할지" 선언적으로 설정.Spring은 Proxy 기..