Programmatic Creation of @AspectJ Proxies

Dev.Hammy·2024년 4월 17일
0

<aop:config> 또는 <aop:aspectj-autoproxy>를 사용하여 구성에서 aspect을 선언하는 것 외에도 대상 객체에 advice하는 프록시를 프로그래밍 방식으로 생성하는 것도 가능합니다. Spring의 AOP API에 대한 자세한 내용은 다음 장을 참조하세요. 여기서는 @AspectJ aspect을 사용하여 자동으로 프록시를 생성하는 기능에 중점을 두고 싶습니다.

하나 이상의 @AspectJ aspect에서 advice하는 대상 객체에 대한 프록시를 생성하기 위해 org.springframework.aop.aspectj.annotation.AspectJProxyFactory 클래스를 사용할 수 있습니다. 이 클래스의 기본 사용법은 다음 예제와 같이 매우 간단합니다.

// create a factory that can generate a proxy for the given target object
AspectJProxyFactory factory = new AspectJProxyFactory(targetObject);

// add an aspect, the class must be an @AspectJ aspect
// you can call this as many times as you need with different aspects
factory.addAspect(SecurityManager.class);

// you can also add existing aspect instances, the type of the object supplied
// must be an @AspectJ aspect
factory.addAspect(usageTracker);

// now get the proxy object...
MyInterfaceType proxy = factory.getProxy();

자세한 내용은 javadoc을 참조하세요.

0개의 댓글