AOP Examples

다양한 부분에 Aspect을 적용할 수 있다. 이 페이지를 통하여 각 적용 예를 살펴보고, 적용 방법을 상세히 소개하고자 한다. 상세한 내용을 알고자 한다면, 아래 나열된 각 항목에 대한 링크를 참고하도록 한다.
  1. Logging : 개발된 어플리케이션 테스트시 오류가 발생한 경우, 해당하는 메소드 로직 내에 입력값 확인을 위해 DEBUG 레벨의 로그를 추가하거나, System.out.println() 구문을 추가하게 되는데 이로 인해 핵심 비즈니스 로직과 섞이게 되어, 코드 변경이나 유지보수에 불리해진다. 따라서 특정 메소드 호출시 전달하는 입력값 확인을 위한 별도 Aspect을 정의하여 활용할 수 있다.

  2. Exception Transfer : 특정 비즈니스 로직 수행시 발생할 수 있는 Exception에 대한 로그 처리 및 메시지 처리를 수행하기 위해 핵심 비즈니스 로직외에 Exception 처리 로직이 추가되어야 한다. 매 로직마다 반복되는 try ~ catch 블럭을 제거하고, 별도 Aspect을 통해 처리하게 함으로써 개발자는 비즈니스 로직에만 집중할 수 있는 기반이 마련될 수 있다.

  3. Profiler : 별도 성능 측정 툴없이도 Aspect을 통해 응답 속도가 중요시 되는 일부 메소드에 대해 개발 시점에 메소드 수행에 걸리는 시간을 측정해 볼 수 있다.

  4. Design Level Assertions : 소스 코드 컴파일시에 Aspect 형태로 정의된 개발 표준을 적용할 수 있게 함으로써, 코딩시에 손쉽게 표준에 부적합한 코드를 인식하고 수정할 수 있게 할 수 있다.