跳到主要内容
版本:7.0.3

利用编程方式创建@AspectJ代理

Hunyuan 7b 中英对照 Programmatic Creation of @AspectJ Proxies

除了使用 <aop:config><aop:aspectj-autoproxy> 在配置中声明切面外,还可以通过编程方式创建代理来通知目标对象。有关 Spring AOP API 的完整详细信息,请参阅下一章。在这里,我们想重点介绍使用 @AspectJ 切面自动创建代理的功能。

你可以使用org.springframework.aop.aspectj.annotation.AspectJProxyFactory类来为一个目标对象创建代理,该目标对象受到一个或多个@AspectJ切面的通知(advisement)。这个类的基本用法非常简单,如以下示例所示:

// 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