왜?

비즈니즈 로직에만 집중하고 부가 기능은 따로 제공할 수 있다. @Transactional.. 등등

MVC에서 해당 내용으로 고생했던 기억이 나서 다시 정리해본다

기본 개념

Aspect : 반복되어 사용되는 로직

Target : 적용할 로직

Advice : 반복 로직의 구현체

JointPoint, PointCut : Advice의 적용 위치, 단 Spring AOP에서는 메소드 기반으로 고정되어 있음

JDK dynamic proxy ? CGLib ?

Untitled

공통점

  1. 런타임시 IoC 컨테이너에 의해 Proxy Bean을 생성하고 Proxy Bean은 타겟 메소드가 실행될 때 부가기능을 주입해줌, 호출 시점에 동적으로 위빙을 한다고 해서 런타임 위빙이라고 부른다