관리 메뉴

웹개발 블로그

[AOP] 간단한 용어 정리 본문

◆ 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();
    }
}