aop相关内容

切入点格式错误:类不能为空

出乎意料的是,我在 Eclipse 中遇到了“Pointcut is malformed: Class must not be null"错误,其中包含几个 Aspects 类.代码运行良好,但是,如果没有更改这些类,Eclipse 突然开始报告错误.我正在尝试追踪问题的根源是 Eclipse 平台/插件更新还是项目的依赖更新. 我使用的是 Spring Tool Suite 版本:3.7. ..
发布时间:2021-11-11 04:40:19 Java开发

Spring 介绍访问原始介绍类

我正在尝试使用 Spring 框架 AOP 扩展一些类 AImpl(实现接口 A),以便能够实现新的接口 B. 我正在使用 @DeclareParents 并实现 Aspect.不幸的是,我需要访问 A 的一些方法才能在其中实现业务逻辑. 有没有人知道比将 A 作为参数添加到接口 B 方法更好的解决方案? 有没有人成功地使用 Spring AOP 引入以我需要的方式扩展类?我能够 ..
发布时间:2021-11-11 04:40:15 Java开发

在aspectj 类中编写ThreadLocal.remove() 的位置

/*我们正在使用 Aspect 在一些现有应用程序上执行 AOP,我们还使用 threadlocal 来存储 GUId.我们正在使用@Around 注释.在事务开始时,我们使用 initialValue() 方法在事务中设置 GUID. 问题正如我们所知,当我们使用 threadlocal 时,我们还应该注意从 threadlocal 中删除数据,否则可能会导致内存不足执行.如果我在删除它最 ..
发布时间:2021-11-11 04:40:12 Java开发

AspectJ:尝试拦截对象创建时出现 ClassCastException

我试图拦截遗留代码中的对象创建以返回另一个对象. 我的示例代码: public class ObjectCreationTest {接口A{字符串说();}公共静态类 MyImpl 实现了 A {@覆盖公共字符串说(){返回 "MyImpl";}}公共静态类 YourImpl 实现了 A {@覆盖公共字符串说(){返回 "YourImpl";}}公共静态无效主(字符串 [] args){A ..
发布时间:2021-11-11 04:40:09 其他开发

Spring MVC 和 AOP:@Pointcuts 仅适用于 Rest 控制器,不适用于常见的 Web 控制器

我正在网络环境中使用 Spring Framework 4.3.3. 我有一个 @Controller 用于通过 Web 浏览器 的 Web 请求,它使用其他 @Controller 但用于 Rest 目的.后者提到使用 @Service 等... 关于使用“Rest"的“Web"的这种方法如何在 使用 Spring MVC 的内容协商用于 组合数据和表示格式 部分.直到这里用于开发/ ..
发布时间:2021-11-11 04:40:06 其他开发

PHP 中调用和执行切入点的区别?

在Java中的AOP(AspectJ)中,当我们谈论方法切入点时,我们可以将它们区分为两个不同的集合:方法调用切入点和方法执行切入点.> 基于 SO 上的这些资源: 执行对比.呼叫加入点 AOP 中调用和执行的区别 还有一些AspectJ的背景,我们可以看出,两者之间的差异基本上可以表达如下: 给定这些类: class CallerObject {//...公共无效一些方法 ..
发布时间:2021-11-11 04:40:03 Java开发

将捕获构造函数调用的切入点

我正在尝试定义一个切入点,它将捕获所有构造函数调用,而不管修饰符、返回类型或类如何.我使用了以下代码 after():execution(* * * .new(..)) 我遇到了一个错误: 标记“*"、“("预期的语法错误. 有人可以建议什么是正确的方法吗? 解决方案 只需去掉中间的星号“*"即可.为构造函数调用指定返回类型是没有意义的,因为很明显,构造函数将始终返 ..
发布时间:2021-11-11 04:40:00 其他开发

DI 拦截 vs. AOP

来自 Unity 文档: Unity 拦截使您能够有效地捕获对对象的调用并向目标对象添加附加功能.当您想修改单个对象而不是整个类的行为时,拦截很有用,这与使用 装饰模式.它提供了一种在运行时向对象添加新行为的灵活方法. 由于在面向方面的编程中使用了完全相同的 DP(请参阅此处) ...在.NET Framework 中,这些技术中最常用的是后处理和代码拦截.前者是 PostSha ..

在不在我的项目中的类上加载时间编织

我正在尝试使用 Spring 为我创建的项目中的几个类提供加载时间编织.当我调用一个不在我本地项目中的类时,我无法让它工作. 我创建了一个名为 ExampleClass 的类,当我对其中的一个方法执行 @Around 时,我可以看到我对返回值所做的修改,但是当我尝试对 String 做同样的事情,我无法得到任何结果. 这是我的方面代码: @Pointcut("call(* java. ..
发布时间:2021-11-11 04:39:51 其他开发

接口方法的 Postsharp 编译时验证

我有一个包含服务合同的程序集(程序集名称是 Contracts).我想使用属性和 PostSharp 对这些方法实施授权.授权属性如下所示: public class Auth : System.Attribute{公共身份验证(字符串权限){...}} 我希望我的服务合同看起来像这样: 命名空间合约{公共接口 IService{[Auth("CanCallFoo")]空Foo();}} ..
发布时间:2021-11-11 04:39:45 C#/.NET

围绕注释字段调用的方面

我希望 AspectJ 在任何方法的所有调用周围注入测量代码,在用 @Measured 注释的字段上并捕获方法的名称.这就是我所拥有的: @Pointcut("get(@my.annotation.Measured * *) && @annotation(measured)")public void fieldAnnotatedWithMeasured(Measured 测量的) {}@Arou ..
发布时间:2021-11-11 04:39:42 Java开发

为 Spring Method Security 启用编译时 AspecJ

Spring AOP 通过代理运行一切,遗憾的是,代理无法无处不在.为此,Spring Security 的注解 @PreAuthorize、@PostAuthorize、@PreFilter 和 @PostFilter(还有 @Secured) 当调用不通过上述代理时不会被考虑在内.代理仅为单例(@Beans)创建,因此当我们想要保护非 bean 的特定对象(例如 JPA @Entities)上 ..
发布时间:2021-11-11 04:39:39 其他开发

我需要一个 Spring AOP 切入点解释

我见过两种切入点模式的变体: 这个 execution(* some.package.*.*(..)) 还有这个 execution(* some.package.* *(..)) 最后两个 * 之间的点(或没有点)是什么意思? 解决方案 这个 附录 定义了切入点表达式语言的语法.对于执行表达式,规则如下: 执行(MethodPattern) 哪里 MethodPatt ..
发布时间:2021-11-11 04:39:36 其他开发

作为装饰器的集合:伪代码实现建议

在等待 问题的答案的同时,我想讨论一下可能的实施计划/细节,甚至一般来说甚至回答实施以下内容的难度以及为此需要哪些工具/技术: (摘自所提到的问题): 假设你需要实现很多(子)类型的集合.其中一个方面与存储相关:list,array 等,而另一个是行为相关:有序,删除only, observable(触发每次更改时的事件)等 显然(再次),要求直接映射到众所周知的装饰器设计模式, ..
发布时间:2021-11-11 04:39:33 Java开发

JAX-WS RI:实现方法拦截器的最佳方式

我想为我的网络服务调用提供我自己的方法拦截器.基本上,这个方法拦截器应该在调用真正的方法之前调用...见下面的片段: public class MyMethodInterceptor {public Object invoke(Object t, Method m, Object[] args) 抛出 Throwable {//做一些魔法,比如追踪、授权等...返回 m.invoke(t, ar ..
发布时间:2021-11-11 04:39:25 Java开发

Maven 下载 Spring-AOP 3.0.0.RC3 而不是 3.1.1.Final

我正在尝试从 Maven 升级 spring-aop.我试图从我的 .m2 存储库中删除所有 Spring 文件,但是,当我运行 mvn dependency:tree 时,我看到 3.0.0.RC3 而不是 3.1.1.final... 依赖树: [INFO] com.abercrombie.loyalty:LoyaltyProvider:war:0.0.1-SNAPSHOT[信息] + ..
发布时间:2021-11-11 04:39:22 其他开发

是否可以拦截方法调用和方法调用的方法的参数:AOP

我有一个 DAO,它有一些使用 org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate 查询数据库的方法.这些方法很少有某些方法参数,我想捕获从这些方法进行的数据库查询.我想编写一个 AOP 来捕获从这些方法进行的 SQL 查询以及参数的值.以下是进行 jdbc 查询的方法之一(我需要捕获):我的 DAO- publ ..
发布时间:2021-11-11 04:39:19 其他开发