Spring중급

Spring AOP의 동작 원리를 설명하세요

Spring AOP가 프록시 패턴을 기반으로 어떻게 동작하는지, 위빙 시점은 언제인지 설명해주세요.

💡 JDK Dynamic Proxy와 CGLIB의 차이를 생각해보세요.

👀현직자 답변
8명 보는 중
LINE
5년차 백엔드
Spring 전문가
준비 중
개발하는 감자LINE5년차
2시간 전

Spring AOP는 프록시 패턴으로 동작합니다. 인터페이스가 있으면 JDK Dynamic Proxy, 없으면 CGLIB를 사용해요. 런타임에 위빙이 이루어지며, @Aspect로 정의한 Advice가 조인포인트에서 실행됩니다. 주의할 점은 같은 클래스 내부 메서드 호출 시 프록시를 거치지 않아 AOP가 동작하지 않는다는 거예요.

코딩하는 호랑이5년차 백엔드베스트 답변 12회
1일 전

면접에서 실제로 "같은 클래스 내부 호출 시 왜 AOP가 안 되는지" 물어봤어요. 프록시를 거치지 않기 때문이라고 답했고, 이 경우 self-injection이나 리팩토링으로 해결할 수 있다고 추가 설명했습니다!

스프링 마스터Spring 전문가우아한형제들
3일 전

실무 경험상 AOP는 트랜잭션, 로깅, 보안 등에 많이 사용됩니다. 특히 @Transactional도 AOP로 구현되어 있죠. 성능에 미치는 영향은 크지 않지만, 프록시 생성 비용은 고려해야 합니다.

백엔드 지망생준비 중도움돼요 45+
5일 전

CGLIB는 클래스 상속 방식이라 final 클래스나 메서드에는 적용할 수 없어요. 이런 제약사항도 면접에서 물어볼 수 있으니 알아두면 좋습니다.

✍️
당신의 생각도 공유해주세요

답변을 공유하면 +10 인사이트 💎를 받고, 다른 사람들에게도 도움을 줄 수 있어요