spring boot + proxy 기술 ( AOP, weaving, aspectJ, join point, pointcut, target, advice, ... )


spring boot + proxy 기술 ( AOP, weaving, aspectJ, join point, pointcut, target, advice, ... )

app을 개발하다 보면 "아~ 여러군데에서 같은 코드가 실행될 곳이 많네. 함수를 하나 만들고 이걸 필요할때마다 호출하도록 해야지.." 라는 생각이 들때가 많습니다. 상세코드 복붙보다는 함수로 하나 만들고 함수호출 코드만 복붙하는게 좀 나은 방법이긴 합니다. 그러나 여러 메서드의 실행시간을 로깅하고 싶을 경우, 위 방법으로 하면 메서드 앞부분에 시작시간용 코드, 메서드 뒷부분에 시간계산용 코드, 이렇게 2군데 넣어야 합니다. 게다가 예외가 발생해도 일괄되게 동작하려면 try ~ catch 도 넣어야 합니다. 이런 어려움이 있으며 이를 해결하기 위해 나온 것이 #AOP 입니다. < 출처: 인프런 - 김영한 강사님의 스프링 핵심원리 - 고급편 교재 > 위와 같이 별개의 클래스들이지만 공통적으로 로그 추적 로직을 넣고 싶을때, AOP 를 이용하면 이런 횡단 관심사 부분에 공통 로직을 적용할 수 있습니다. OOP 에서 부족한 부분을 AOP를 통해 보조/보완 해줄수 있게 되었습니다. AOP ...


#AOP #AspectJ

원문링크 : spring boot + proxy 기술 ( AOP, weaving, aspectJ, join point, pointcut, target, advice, ... )