aspectj相关内容

外部库加载时间编织成库

我有一个带主类的罐子. 我用命令 java -jar my.jar 执行它这个主 jar 依赖于 another.jar(例如 joda-time.jar). 现在我要截取一个another.jar的方法,说我要打印日志. 顺便说一句,我想像往常一样使用 my.jar,我的意思是我会像往常一样调用它:java -jar my.jar. 我在 github 上找到了一个非常好的例子 ..
发布时间:2021-11-11 04:34:04 其他开发

如何在 Struts 2 中从更新中排除 ModelDriven Action 的某些属性

我们正在使用带有 ModelDriven 接口的操作.该操作具有 scopedModelDriven 拦截器 并在会话中保存模型. 模型如下: 公共类资金转移{私人字符串数量;私人字符串源帐户;私人字符串目的地帐户;私人字符串符号//省略setter和getter} Fundtransfer bean 用作模型.JSP 表单具有数量、sourceAcount 和 destinationA ..
发布时间:2021-11-11 04:34:01 Java开发

不应该建议自我调用,但确实如此

我发现 Spring AOP AspectJ 有一个奇怪的行为:不应该建议自我调用,但在我的应用程序中它确实如此.来自 Spring 文档: 然而,一旦调用最终到达目标对象,在这种情况下,SimplePojo 引用,它可能进行的任何方法调用本身,例如 this.bar() 或 this.foo(),将被调用针对 this 引用,而不是代理.这有重要的影响.这意味着自调用不会导致与方法调用相关 ..
发布时间:2021-11-11 04:33:58 其他开发

如何确保 Spring roo 生成的方面是由依赖项目编织的?

我有一个 Spring Roo 多模块项目.我注意到,在另一个项目中包含包含我的域模型的 jar/模块后,方面并没有被编织让我拥有没有任何可用 getter/setter 的域类. 如何确保 Spring roo 生成的方面是由依赖项目编织的? EDIT:为了能够从另一个项目中使用 Roo 的方面,需要在依赖项目中包含 aspectJ 插件.请注意,这种方式不需要编译时加载. 解 ..
发布时间:2021-11-11 04:33:43 其他开发

如何在 Aspect 内可靠地自动装配成员 - 即使在上下文刷新之后?

我有一个 AspectJ 方面,我想在其中包含 @Autowired 字段.鉴于默认情况下,方面是在 Spring 容器之外创建的单例,Spring 不管理方面的任何依赖注入. 在 SO 上搜索,Spring autowired bean for @Aspect aspect is null 遇到了同样的问题,并使用 @Configurable 注释以某种方式神奇地允许 Spring 进行依 ..
发布时间:2021-11-11 04:32:52 Java开发

使用 aspectj 分析选定的方法

我想使用 aspectj 来分析一个库.我的计划是用注释标记需要分析的方法: @Profiled("logicalUnitOfWork") 然后有一个方面会在使用 logicalUnitOfWork 的方法之前和之后触发,以突出显示所分析的内容. 所以,我的切入点看起来像这样.请注意,我这里没有注释的论据;这是我不知道该怎么做的事情之一: 切入点 profiled() : ex ..
发布时间:2021-11-11 04:32:40 Java开发

AspectJ - 匹配具有泛型参数的方法的切入点

我有一个通用方法,可以接受任何类型作为其参数. 例如,我想要一个切入点,该切入点仅以“String"类型作为其参数来匹配对方法的调用.最终的要求是将执行通知的范围限制为“字符串"参数. 这是我的通用类和方法: 公共类参数{公共 T 执行(T s){返回 s;}} 主类:我的应用使用布尔值和字符串作为参数调用方法. public static void main(String[] ar ..
发布时间:2021-11-11 04:31:58 Java开发

如何使用 Spring AOP 实现基于注解的安全性?

我是 Spring AOP(以及一般的 AOP)的新手,需要实现以下内容: @HasPermission(operation=SecurityOperation.ACTIVITY_EDIT, object="#act")公共活动更新活动(活动行为){...} @HasPermission 是我自定义的注解,用来标记所有需要预授权的方法.我正在使用基于 Apache Shiro 的自定义安全检查 ..
发布时间:2021-11-11 04:31:55 Java开发

使用 AspectJ 的异步执行方面

问题来了—— 我使用Spring提供的@Async异步执行一些方法.但是,因为它是基于代理的,所以如果从同一个类中调用该方法,它将不起作用.我确实需要在同一个类中调用我的异步方法. 我知道如果我使用 AspectJ 而不是 Spring AOP,我将能够做到这一点. 所以我的问题是,有没有办法使用 Spring 的 @Async 和加载时间编织它?或者,是否已经编写了一个基于 A ..
发布时间:2021-11-11 04:31:46 Java开发

为什么服务器抱怨aspectOf 丢失?

我目前正在尝试像下面显示的代码一样在 AspectJ 中注入 Spring bean,但是我的服务器(WAS Liberty Profile)一直抱怨缺少方法 aspectOf.我可以知道如何解决这个问题吗? application-context.xml context-file-A.xml JAV ..
发布时间:2021-11-11 04:31:31 Java开发

Spring AOP:@annotation(annotation)

我(当然)试图使用许多我不太了解的构造来维护一个项目.在试图弄清楚 Spring 中 AOP 的使用过程中,我遇到了带有以下注释的方法: @Around(value = "@annotation(annotation)") 所以@Around 意味着我们正在 AOP 中执行方法切入点的“around"版本,我理解这一点.我不知道另一部分是什么意思.Spring 文档提供了以下内容: ..
发布时间:2021-11-11 04:31:19 Java开发

从 Spring AOP 到 AspectJ 的转换

我正在将一些使用 Spring AOP 的代码迁移到 AspectJ 方面(在编译时编织).我正在寻找有关如何修改切入点以使它们在迁移后表现相同的反馈? 当前 Spring AOP Aspects 仅用作“代理",因此只能从外部调用者对公共/接口方法起作用.现在我已经切换到 AspectJ 编织;甚至从类内部到自身的方法调用也在被编织. 这让我很头疼,我想知道我是否可以改变切入点以某种 ..
发布时间:2021-11-11 04:31:14 Java开发

如果通过反射设置字段,是否会调用 set() 字段切入点?

我有一个字段设置切入点,这似乎符合我的预期.其定义如下 before(Object newval): set(@Serviced private * *.*) &&args(newval) 以上内容旨在捕获:每当使用@Serviced 注释的私有字段属性被设置时,请调用我的 before 建议. 一切似乎都很好,除了我的代码中的一种情况,它通过 java 反射(即通过 java. ..
发布时间:2021-11-11 04:31:05 其他开发

将 @PostFilter 注释应用于通用 Spring Data Jpa 存储库方法

我想在 Spring Data Jpa 存储库通用方法(例如 findAll)上使用 @PostFilter 注释,如下所示: @PostFilter("filterObject.isActivated()==true")公共列表找到所有(); 记住这些方法是由 Spring Data Jpa“自动"提供的,因此不会在应用程序代码中公开,我该如何做到这一点? 解决方案 是的,您 ..
发布时间:2021-11-11 04:31:02 其他开发

带有 weblogic 的 AspectJ

我正在尝试使用 LTW 在 Weblogic 上运行 AspectJ.我的切入点针对公共构造函数和方法,建议针对 Before、AfterReturning 和 AfterThrowing.当我访问一个简单的“Hello World"jsp 时出现以下错误: javax.servlet.ServletException:Servlet 类:'jsp_servlet.__index' 没有默认构造 ..
发布时间:2021-11-11 04:30:56 其他开发

AspectJ:如何在 get() 切入点中获取访问字段的值

我正在编写一个方面记录器,以便在访问给定类中的任何成员变量时写入日志. 如果我为如下所示的单个变量编写一个特定的切入点,我就可以获得该字段的值. @Pointcut("get(* abc.ThreadPoolService.drMaxTh)")public void drFields() {}@AfterReturning(pointcut="drFields()",returning=" ..
发布时间:2021-11-11 04:30:41 Java开发

Spring/AOP:在数据库中实现活动日志的最佳方式

我已经阅读了一些 Spring/AOP 教程,并且对相关概念有所熟悉. 现在满足我的要求,我需要创建一个活动日志实现,它将登录用户的活动保存在数据库中,范围可以从申请服务或在 Admin 的情况下创建新用户 用户等.在调用任何具有注释的方法时(比如 @ActivityLog),这些信息将以 actorId、 的形式持久化>actionComment、actionTime、actedUponI ..
发布时间:2021-11-11 04:30:29 其他开发

适用于 Android Studio 的 aspectj - AJDT 插件在哪里

我如何为 android studio 安装 AJDT.我知道 eclipse 有一个,但我在 android studio 中找不到任何东西.我想做的是在启动之前对我的每个方法调用进行安全检查.我已经在这个网站上尝试过 AJDT 但这是针对 eclipse 的. 解决方案 Android Studio 是 IntelliJ 的 Android 感知版本.IntelliJ 没有对 Aspe ..
发布时间:2021-11-11 04:30:26 其他开发