애너테이션이 있는 일반 Java 클래스로 관점을 선언하는 스타일을 지칭
pointcut 구문 분석 및 일치를 위해 AspectJ가 제공하는 라이브러리를 사용하여 AspectJ 5와 동일한 애너테이션을 해석
AOP 런타임은 여전히 순수한 스프링 AOP이며, AspectJ 컴파일러나 위버에 의존하지 않음
@Configuration
@EnableAspectJAutoProxy
public class AppConfig{
}
<aop:aspectj-autoproxy/>
@Aspect
지원이 활성화되면 @Aspect
애너테이션이 있는 클래스로 애플리케이션 컨텍스트에 정의된 모든 빈이 스프링에서 자동으로 감지되고 스프링 AOP를 구성하는 데 사용됨
<bean id="myAspect" class="org.xyz.NotVeryUsefulAspect">
<!-- configure properties of the aspect here -->
</bean>
import org.aspectj.lang.annotation.Aspect;
@Aspect
public class NotVeryUsefulAspect {
}
포인트컷은 관심 조인 포인트를 결정하므로 어드바이스가 실행되는 시기를 제어할 수 있음
이름과 매개변수를 포함하는 서명과 관심 있는 메서드 실행을 정확히 결정하는 pointcut 표현식의 두 부분으로 구성