问题标签 [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.
aop - AspectJ 切入点和建议
如果正在添加不属于特定类别的项目,我必须执行一项发出警告的政策,除了允许和禁止此类添加的三个项目......
到目前为止,我能够找到这些项目并发出警告......但不知道如何阻止它们被添加......
例如。
允许的类别 鞋袜
但是如果我尝试将蔬菜项目添加到库存中,它应该会给我一个警告说“不允许的类别../nItem 将不会添加到库存中”......然后继续下一个项目......
这是我到目前为止写的......
aop - 添加新项目的策略执行 - ASPECTJ
如果正在添加不属于特定类别的项目,我必须执行一项发出警告的政策,除了允许和禁止此类添加的三个项目......
到目前为止,我能够找到这些项目并发出警告......但不知道如何阻止它们被添加......例如。
允许的类别 鞋袜
但是如果我尝试将蔬菜项目添加到库存中,它应该会给我一个警告说“不允许的类别../nItem 将不会添加到库存中”......然后继续下一个项目......
这是我到目前为止写的......
我知道我没有正确使用周围的建议....
java - 将方面添加到实现类而不是接口
我们有一个实现多个接口的类。我们想为整个类添加一些切入点——而不是它的特定接口。
如何使用 Spring AOP 完成?是否可以将方面应用于非接口类?
java - 在 AspectJ 设置切入点中暴露先前的值
我必须检测字段值的变化。我想将以前的值与新值进行比较。我不知道字段名称或其类型。(这里有更多背景。)对于给定类的示例:
我有这个方面:
问题是args
暴露了在字段集联合点传递的值,而不是字段的当前值。在第 27 页的演示文稿中,我发现:
但它似乎根本无法用我的代码(注释)编译。当我尝试时:
然后我得到:
这是使用反射的工作解决方案:
这是性能比反射更好的解决方案(我认为)。但是仍然有很大的开销(附加字段,以及将切面实例绑定到每个目标)。
这是使用声明父母的解决方案:
重新总结有三种选择:
- pertarget/perthis 围绕设置与字段值映射
- 带反射的单例
- 带有声明父母和字段值映射的单例
最好的解决方案是直接从切入点获取先前的值(无需反射或记住切入点之间的字段值)。可能吗?如果不是,哪个替代方案的性能最好?
补充说明
我发现this discussion about previous value in set pointcut,但它已经很老了。
所有这些机制都是为了检测 JSF 会话范围的 bean 内部状态更改- 修复了 Google App Engine。这样的 bean 通常有不到 100 个字段。全部从一个线程调用。
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:
java - 使用注解覆盖接口方法的方法的@AspectJ 切入点
如何编写适用于方法执行的 aspectj 切入点,该方法执行使用注释覆盖接口方法?例如:
切入点仅在带有注释本身execution(@MyAnnotation * *.*(..))
时才匹配。B.method()
还有另一种方法可以做到这一点吗?
java - 关于 Spring-AOP 切入点和继承的说明
鉴于以下示例类my.package
...
以及以下 Spring-AOP 切入点...
将建议应用于上述 Bar 实例的切入点的结果是什么?尤其...
我认为我错过了切入点如何与继承交互的一些基本事实,因此引擎盖下的解释/文档可能会有很长的路要走。
java - Spring AOP - 带有注释的每个方法的切入点
我正在尝试定义一个切入点,它将捕获用 (ie) 注释的每个方法@CatchThis
。这是我自己的注释。
此外,我想访问该方法的第一个参数,它将是Long
类型。可能还有其他争论,但我不在乎。
编辑
这就是我现在所拥有的。我不知道的是如何传递带有注释的方法的第一个参数@CatchThis
。
spring - 检查 AOP 切入点表达式
我需要检查我的切入点表达式,例如。我有这个豆子:
在我的 aop 切入点表达式中,我需要检查以验证 bean 属性“logLvl”的值。
我的表情不起作用......我可以改变什么来做这个检查?
java - 在 spring 切入点中使用注释
我正在使用注释来指示需要将建议应用于该方法。
我在一个名为的接口中有两种方法IMaintenanceDAOSupport
我们如何为要应用的方面配置 xml?
目前我有
它给出了编译错误;您在配置中看到任何错误吗?