728x90
3.1 Joinpoint
- 메소드를 호출하는 '시점', 예외가 발생하는 '시점'과 같이 애플리케이션을 실행할 때 특정 작업이 실행되는 '시점'을 의미한다.
3.2 Advice
- Joinpoint에서 실행되어야 하는 코드
- 횡단관점에 해당함 (트랜잭션/로그/보안/인증등..)
3.3 Target
- 실질적인 비지니스 로직을 구현하고 있는 코드
- 핵심관점에 해당함 (업무로직)
3.4 Pointcut
- Target 클래스와 Advice가 결합(Weaving)될 때 둘 사이의 결합규칙을 정의하는 것이다
- 예로 Advice가 실행된 Target의 특정 메소드등을 지정
3.5 Aspect
- Advice와 Pointcut을 합쳐서 하나의 Aspect라고 한다.
- 즉 일정한 패턴을 가지는 클래스에 Advice를 적용하도록 지원할 수 있는 것을 Aspect라고 한다.
3.6 Weaving
- AOP에서 Joinpoint들을 Advice로 감싸는 과정을 Weaving이라고 한다.
- Weaving 하는 작업을 도와주는 것이 AOP 툴이 하는 역할이다
@Pointcut : aspectJ를 적용할 타겟을 정의해준다. 전체 컨트롤러의 함수대상, 특정 어노테이션을 설정한 함수대상,
특정 메소드 대상 등 개발자가 적용하길 원하는 범위를 정의하는 어노테이션
@Before : aspectJ를 적용할 타겟 메소드가 실행되기 '전' 수행됨
@AfterReturning : aspectJ를 적용할 타겟 메소드가 실행된 '후' 수행됨 (제일 마지막에 수행됨)
@Around : aspectJ를 적용할 타겟 메소드 실행 전 , 후 처리를 모두 할 수 있음
'JAVA > Spring Boot' 카테고리의 다른 글
spring Boot (0) | 2021.06.03 |
---|