본문 바로가기

포인트컷2

AOP 정리 (4) 사용법 확장 먼저 아직 AOP가 적용되지 않은 UserService를 진행해보겠습니다. Perpormance.java @Around("execution(* com.blogcode.board.BoardService.getBoards(..)) || execution(* com.blogcode.user.UserService.getUsers(..))") 포인트컷 표현식에 OR 연산자인 ||를 이용하여 UserService를 추가시켰습니다. 이로 인해 알 수 있는 것은 포인트컷 표현식에는 AND, OR, NOT와 같은 관계연산자를 이용할 수 있다는 것입니다. 여기서 만약 표현식이 더 추가가 되면 어떻게 될까요? 저 긴 표현식이 하나씩 추가 될때마다 가독성에 큰 무리가 있습니다. 더불어서 해당 표현식을 재사용하고 .. 2016. 12. 8.
AOP 정리 (3) AOP란? Spring의 핵심 개념중 하나인 DI가 애플리케이션 모듈들 간의 결합도를 낮춰준다면, AOP는 애플리케이션 전체에 걸쳐 사용되는 기능을 재사용하도록 지원하는 것입니다. AOP (Aspect-Oriented Programming) 란 단어를 번역하면 관점(관심) 지향 프로그래밍으로 됩니다. 이 관점(관심)이란 단어가 잘 와닿지 않아 AOP를 이해하는데 있어 더 어려움을 일으킨다고 생각하였습니다. 쉽게 얘기하면 프로젝트 구조를 바라 보는 관점을 바꿔보자는 이야기입니다. 우리는 보통 제 3자의 관점에서 바라보자 라는 이야기를 합니다. (제 3자의 관점) 즉, 대상을 바라보는 방향을 바꿔보자라는 이야기입니다. (핵심기능에서 바라본 관점) 각각의 Service는 핵심기능에서 바라보았을때는 Board,.. 2016. 12. 8.