有人能解释一下"target pointcut designators"是什么吗?

6

我刚接触Spring AOP,正在阅读有关切入点设计器的文档。对我来说,this和target设计器听起来很相似。有人能用更好/更清晰的例子解释一下吗?谢谢

this - 将匹配限制为加入点(在使用Spring AOP时执行方法)其中bean引用(Spring AOP代理)是给定类型的实例

eg: this(com.xyz.service.AccountService)

任何一个连接点(仅在Spring AOP中方法执行)都需要代理实现AccountService接口:

目标 - 将匹配限制为连接点(使用Spring AOP时方法的执行),其中目标对象(被代理的应用对象)是给定类型的实例

eg: target(com.xyz.service.AccountService)

任何连接点(仅在Spring AOP中是方法执行),其中目标对象实现了AccountService接口。

链接: http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/aop.html

1个回答

9
不同的代理方法,包括JDK和CGLIB,允许您向对象添加比其继承的更多类型。例如,您可以声明一个Foo bean,它不继承任何类(除了Object)也不实现任何接口。出于某种原因,您决定要代理此bean并使其实现Bar接口并扩展SomeRandomType类。这里的目标对象将是类型为Foo的Bean。Spring代理是一个委托给目标Bean的对象,共享其类型,并且还可以具有更多类型,如上面的示例所示。
因此,target指代被代理的Bean,this指代代理。

谢谢,这很有帮助!看来我得多读一些关于Spring代理的内容了。 - Chinmay
这里的“this”指代代理对象,“target”指代被代理的Bean。程序员为什么会对代理感兴趣?Spring框架使用代理。在Spring AOP中,“this()”有什么用途? - HakunaMatata
@HakunaMatata 如果你想利用通过代理实现的任何行为,你需要通过代理访问它,而不是通过目标对象。 - Sotirios Delimanolis
@SotiriosDelimanolis:那么,当我想利用Spring代理时,这个()很有用吗? - HakunaMatata
@HakunaMatata 请查看这里 - Sotirios Delimanolis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接