본문 바로가기

Spring/AOP

(2)
AOP 용어 AOP 용어 정리 조인 포인트(Join point) 어드바이스가 적용될 수 있는 위치, 메소드 실행, 생성자 호출, 필드 값 접근, static 메서드 접근 같은 프로그램 실행 중 지점 조인 포인트는 추상적인 개념이다. AOP를 적용할 수 있는 모든 지점이라 생각하면 된다. 스프링 AOP는 프록시 방식을 사용하므로 조인 포인트는 항상 메소드 실행 지점으로 제한된다. 포인트컷(Pointcut) 조인 포인트 중에서 어드바이스가 적용될 위치를 선별하는 기능 주로 AspectJ 표현식을 사용해서 지정 프록시를 사용하는 스프링 AOP는 메서드 실행 지점만 포인트컷으로 선별 가능 타켓(Target) 어드바이스를 받는 객체(핵심 기능이 있는 메서드), 포인트컷으로 결정 어드바이스(Advice) 부가 기능 특정 조인 ..
스프링AOP - 실무 주의사항 프록시 방식의 AOP 한계 스프링은 프록시 방식의 AOP를 사용한다. 따라서 AOP를 적용하려면 항상 프록시를 통해서 대상 객체(Target)을 호출해야 한다. 이렇게 해야 프록시에서 먼저 어드바이스를 호출하고, 이후에 대상 객체를 호출한다. 만약 프록시를 거치지 않고 대상 객체를 직접 호출하게 되면 AOP가 적용되지 않고, 어드바이스도 호출되지 않는다. 프록시 방식의 AOP는 메서드 내부 호출에 프록시를 적용할 수 없다. 아래 코드로 테스트를 해보자. CallServiceV0.java package hello.aop.internalcall; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @Slf4j @..