◆ SPRING BOOT/AOP
[AOP] 간단한 용어 정리
쿠키린
2024. 8. 8. 21:41
build.gradle 설정
implementation 'org.springframework.boot:spring-boot-starter-aop' //직접 추가
AOP
부가기능(횡단관심사)을 보조하는 목적
애스팩트
- @Aspect
- 어드바이스 + 포인트 컷 모듈화
- 💥부가기능을 한 곳에서 관리하기 위해서 하나의 모듈로 만든것.
어드바이스(부가기능)
- @Around
- @Before
- @After
...
포인트 컷(적용할 위치)
- @Around("값") <--"값"이 포인트컷 (포인트 컷 표현식을 확인해서 사용하자)
어드바이저(하나의 어드바이저와 하나의 포인트컷)
- 메소드명(){...}
ex) doLog 메소드
@Slf4j
@Aspect //어드바이스 + 포인트컷을 모듈화 한 것
public class AspectV1 { // aop 관려해서 모아준다.
//hello.aop.order 패키지와 하위 패키지
@Around("execution(* hello.aop.order..*(..))") //..는 hello.aop.order 패키지의 하위패키지
public Object doLog(ProceedingJoinPoint joinPoint) throws Throwable {
log.info("[log] {}", joinPoint.getSignature()); //join point 시그니처
return joinPoint.proceed();
}
}