@Aspect
我在服务方法中有一个方法logChangesAndAnnounceNewContributions
,只要在 webapp 中的某个地方调用 Spring-data 的保存方法,就会触发该方法JpaRepository
。我不希望在 Aspect 类本身中使用 save 方法时调用 logChanges 方法,所以我在切入点定义中使用了它 !within(Services.SystemListenerService)
。但它没有任何效果!尽管在定义中使用了此条件,但仍会调用 save 方法。完整的定义如下所示:
@AfterReturning("execution(* org.springframework.data.jpa.repository.JpaRepository.save(..))" +
"&& !within(Services.SystemListenerService) && args(entity)")
private void logChangesAndAnnounceNewContributions(Object entity){
我在这里想念什么?
编辑:我尝试将 !within content 更改为,!within(@org.aspectj.lang.annotation.Aspect *)
但这也不起作用..