[Spring] AspectJ 모듈 + Proxy 기반 애노테이션을 혼용했을 때 발생하는 문제
시나리오 요구사항에 대한 로직을 작성하다가 아래와 같은 생각이 들었다고 하자 너무나도 많은 흩어진 부분에서 공통적으로 적용되는 로직 존재 이러한 로직을 AOP(Aspect Oriented Programming)를 활용해서 공통 모듈화 위의 로직은 All or Nothing을 지켜야 하기 때문에 Transaction 처리가 필요하다고 가정하자 그러면 여기서 가장 심플하게 생각할 수 있는 구현 방안은 아래와 같다 Spring에서 제공해주는 @Aspect를 활용해서 Advice를 정의 적절한 위치에 대한 Pointcut을 정의해서 AOP 적용 All or Nothing을 지키기 위해서 Spring에서 제공해주는 @Transactional 활용 @Aspect @Component class ExtractCommo..