问题标签 [pointcut]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5442 浏览

aop - AspectJ 切入点和建议

如果正在添加不属于特定类别的项目,我必须执行一项发出警告的政策,除了允许和禁止此类添加的三个项目......

到目前为止,我能够找到这些项目并发出警告......但不知道如何阻止它们被添加......

例如。

允许的类别 鞋袜

但是如果我尝试将蔬菜项目添加到库存中,它应该会给我一个警告说“不允许的类别../nItem 将不会添加到库存中”......然后继续下一个项目......

这是我到目前为止写的......

0 投票
1 回答
113 浏览

aop - 添加新项目的策略执行 - ASPECTJ

如果正在添加不属于特定类别的项目,我必须执行一项发出警告的政策,除了允许和禁止此类添加的三个项目......

到目前为止,我能够找到这些项目并发出警告......但不知道如何阻止它们被添加......例如。

允许的类别 鞋袜

但是如果我尝试将蔬菜项目添加到库存中,它应该会给我一个警告说“不允许的类别../nItem 将不会添加到库存中”......然后继续下一个项目......

这是我到目前为止写的......

我知道我没有正确使用周围的建议....

0 投票
1 回答
2849 浏览

java - 将方面添加到实现类而不是接口

我们有一个实现多个接口的类。我们想为整个类添加一些切入点——而不是它的特定接口。

如何使用 Spring AOP 完成?是否可以将方面应用于非接口类?

0 投票
3 回答
5945 浏览

java - 在 AspectJ 设置切入点中暴露先前的值

我必须检测字段值的变化。我想将以前的值与新值进行比较。我不知道字段名称或其类型。(这里有更多背景。)对于给定类的示例:

我有这个方面:

问题是args暴露了在字段集联合点传递的值,而不是字段的当前值。在第 27 页的演示文稿中,我发现:

但它似乎根本无法用我的代码(注释)编译。当我尝试时:

然后我得到:

这是使用反射的工作解决方案:

这是性能比反射更好的解决方案(我认为)。但是仍然有很大的开销(附加字段,以及将切面实例绑定到每个目标)。

这是使用声明父母的解决方案:

重新总结有三种选择:

  • pertarget/perthis 围绕设置与字段值映射
  • 带反射的单例
  • 带有声明父母和字段值映射的单例

最好的解决方案是直接从切入点获取先前的值(无需反射或记住切入点之间的字段值)。可能吗?如果不是,哪个替代方案的性能最好?

补充说明

我发现this discussion about previous value in set pointcut,但它已经很老了。

所有这些机制都是为了检测 JSF 会话范围的 bean 内部状态更改- 修复了 Google App Engine。这样的 bean 通常有不到 100 个字段。全部从一个线程调用。

0 投票
2 回答
12712 浏览

spring - Spring AOP 切入点格式不正确

线程“主”org.springframework.beans.factory.BeanCreationException 中的异常:创建名为“org.springframework.aop.aspectj.AspectJPointcutAdvisor#0”的 bean 时出错:bean 的实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 bean 类 [org.springframework.aop.aspectj.AspectJPointcutAdvisor]:构造函数抛出异常;嵌套异常是 java.lang.IllegalArgumentException:切入点格式不正确:期望在字符位置 49 处执行“名称模式”(*com.idol.performers.Performer.perform(..)

我的切入点有什么问题?书中说

我的xml:

0 投票
3 回答
16241 浏览

java - 使用注解覆盖接口方法的方法的@AspectJ 切入点

如何编写适用于方法执行的 aspectj 切入点,该方法执行使用注释覆盖接口方法?例如:

切入点仅在带有注释本身execution(@MyAnnotation * *.*(..))时才匹配。B.method()还有另一种方法可以做到这一点吗?

0 投票
1 回答
3742 浏览

java - 关于 Spring-AOP 切入点和继承的说明

鉴于以下示例类my.package...

以及以下 Spring-AOP 切入点...

将建议应用于上述 Bar 实例的切入点的结果是什么?尤其...

我认为我错过了切入点如何与继承交互的一些基本事实,因此引擎盖下的解释/文档可能会有很长的路要走。

0 投票
1 回答
20541 浏览

java - Spring AOP - 带有注释的每个方法的切入点

我正在尝试定义一个切入点,它将捕获用 (ie) 注释的每个方法@CatchThis。这是我自己的注释。

此外,我想访问该方法的第一个参数,它将是Long类型。可能还有其他争论,但我不在乎。


编辑

这就是我现在所拥有的。我不知道的是如何传递带有注释的方法的第一个参数@CatchThis

0 投票
2 回答
1099 浏览

spring - 检查 AOP 切入点表达式

我需要检查我的切入点表达式,例如。我有这个豆子:

在我的 aop 切入点表达式中,我需要检查以验证 bean 属性“logLvl”的值。

我的表情不起作用......我可以改变什么来做这个检查?

0 投票
2 回答
322 浏览

java - 在 spring 切入点中使用注释

我正在使用注释来指示需要将建议应用于该方法。

我在一个名为的接口中有两种方法IMaintenanceDAOSupport

我们如何为要应用的方面配置 xml?

目前我有

它给出了编译错误;您在配置中看到任何错误吗?