AOP 란?

⇒ 관심사를 분리하여 개발한다고 하여, 횡단 관심사(cross-cutting concern) 이라는 용어를 사용한다.

스프링에서 채택한 AOP 방법 : 프록시

⇒ 디자인 패턴에서 얘기하는 프록시 패턴은 target 객체의 기능을 수행하기 위해 proxy 객체를 통해 client 가 target에 접근하는 방식을 변경하고 return 값에 대해 수정을 하지 않는 패턴이다.

⇒ 그러나 개인적으로 AOP의 프록시는 template callback 패턴과도 비슷하다고 생각한다.

⇒ jdbctemplate와 비슷하게 try-catch-finally로 예외 처리하는 로직도 추가될 뿐 만 아니라 callback 메소드를 비즈니스 로직의 전 후횡단 관심사를 수행할 수 있기 때문이다.

Spring AOP의 원리 - CGlib vs Dynamic Proxy

다이나믹 프록시를 구현하기 위한 방법 2가지