2024. 11. 17. 12:04ㆍSpring Framework/Aspect Oriented Programming with Spring
@AspectJ 방식의 Aspect를 Spring 구성에서 사용하려면, Spring이 @AspectJ Aspect를 기반으로 AOP를 구성하고, 어드바이스 메서드에 정의된 포인트컷 조건에 따라, Bean의 메서드가 AOP 적용 대상인지 판단하여 , 자동으로 프록시를 생성하는 기능을 활성화해야 합니다.
여기서 자동 프록시 생성(auto-proxying)이란, Spring이 어떤 빈의 메서드가 어드바이스 메서드에 정의된 포인트컷에 매칭된다고 판단하면, 해당 빈에 대해 자동으로 프록시를 생성하여 메서드 호출을 가로채고, 필요한 시점에 어드바이스가 실행되도록 보장하는 것을 말합니다.
@AspectJ 지원은 XML 또는 Java 기반 구성으로 활성화할 수 있습니다. 두 경우 모두 애플리케이션의 클래스패스에 AspectJ의 aspectjweaver.jar 라이브러리(버전 1.9 이상)를 포함해야 합니다. 이 라이브러리는 AspectJ 배포판의 lib 디렉토리나 Maven Central 저장소에서 사용할 수 있습니다.
Java 기반 구성으로 @AspectJ 지원 활성화
@Configuration을 사용하여 @AspectJ 지원을 활성화하려면, 다음 예시와 같이 @EnableAspectJAutoProxy 애노테이션을 추가합니다:
@Configuration
@EnableAspectJAutoProxy
public class AppConfig {
}
XML 설정으로 @AspectJ 지원 활성화
XML 기반 구성으로 @AspectJ 지원을 활성화하려면, 다음 예시와 같이 <aop:aspectj-autoproxy> 요소를 사용합니다:
<aop:aspectj-autoproxy/>
이는 XML 스키마 기반 설정에서 설명된 스키마 지원을 사용하는 것을 전제로 합니다. aop 네임스페이스에서 태그를 가져오는 방법은 AOP 스키마를 참조하십시오.
'Spring Framework > Aspect Oriented Programming with Spring' 카테고리의 다른 글
Declaring a Pointcut (0) | 2024.11.17 |
---|---|
Declaring an Aspect (0) | 2024.11.17 |
Spring instrument (0) | 2024.11.17 |
Programmatic Creation of @AspectJ Proxies (0) | 2024.11.15 |
Delegate (0) | 2023.12.10 |