spring AOP 中的目标对象是什么

问题描述 投票:0回答:2

我是 spring aop 的初学者,我正在阅读 spring aop 文档来理解这些概念,但未能理解“目标对象”。

文档说目标对象是“一个或多个方面建议的对象。也称为建议对象”.

这里的being advised by one or more aspect是什么意思?谁能用莱曼术语向我解释什么是目标对象,因为我还是个初学者。

spring spring-aop
2个回答
0
投票

一些基本AOP术语的简单解释请参考我的其他答案。在继续阅读这里之前,请先阅读那个。

所以目标对象是您想要添加新行为的(Java或Spring)组件,通常是横切关注点,即一些行为将应用于代码库中的许多类。

一个 方面 是一个类,您可以在其中实现横切关注点,并确定在何处以及如何应用它。 wherepointcut 定义,这是一种搜索表达式,用于查找代码库的相关部分以应用行为。 how 在称为 advice 的方面方法中实现。

所以当我们说一个方面建议一个对象时,它意味着它在不改变类本身的情况下为其添加(横切)行为。

  • 在 Spring AOP 中,这主要是方法拦截,即在方法执行之前或之后做一些事情。
  • 在更强大的AspectJ中还可以拦截成员变量和构造函数执行的变化。此外,您可以通过添加新成员或方法或使目标类实现接口等来更改类结构本身

0
投票

是否可以像下面这样定义多个目标:

@Before(value = "com.test.createUpdateDeletePointCut() && (target(com.testlab.A) || target(com.testlab.B))")
© www.soinside.com 2019 - 2024. All rights reserved.