编程式创建 @AspectJ 代理
除了通过 <aop:config> 或 <aop:aspectj-autoproxy> 在配置中声明切面外,
也可以通过编程方式创建通知目标对象的代理。有关 Infra AOP API 的完整详情,
请参见 下一章。这里我们将重点介绍使用 @AspectJ 切面
自动创建代理的能力。
你可以使用 infra.aop.aspectj.annotation.AspectJProxyFactory 类
为目标对象创建一个由一个或多个 @AspectJ 切面通知的代理。
该类的基本用法非常简单,如下例所示:
-
Java
// 创建一个工厂,用于为给定的目标对象生成代理
AspectJProxyFactory factory = new AspectJProxyFactory(targetObject);
// 添加切面,该类必须是 @AspectJ 切面
// 你可以根据需要多次调用此方法以添加不同的切面
factory.addAspect(SecurityManager.class);
// 你也可以添加现有的切面实例,提供的对象类型必须是 @AspectJ 切面
factory.addAspect(usageTracker);
// 现在获取代理对象...
MyInterfaceType proxy = factory.getProxy();
有关更多信息,请参阅 javadoc。