SPRING/chapter06_AOP
01_AOP.txt
GAWON
2023. 7. 6. 18:34
1. AOP (Aspect Oriented Programming)
- 관점 지향 프로그래밍이라고 불린다.
- 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어
그 관점을 기준으로 각각 모듈화 한다.
- 관점 > 파라미터는 올바르게 들어왔는가?
> 작업을 하는 사용자가 적절한 권한을 가졌는가?
> 작업에서 발생할 모든 예외는 어떻게 처리하는가?
ex) log.info() 등 로그를 작성하는 일은 반복적으로 하지만 핵심 기능은 아니다.
따라서 관심사로 간주할 수 있다.
- 주로 Java API를 이용한다.
1) 주요 개념
(1) Aspect : 관심사를 모듈화 한 것, 주로 부가기능을 모듈화한다.
(2) Target : Aspect를 적용하는 곳(클래스, 메소드 등)
(3) Advice : 실제 작업. 부가기능을 담은 구현체
(4) JoinPoint : Advice가 적용될 위치.
(5) PointCut : JoinPoint의 상세한 스펙을 정의