Spring 春季4&x2B;方面
我对方面有问题。他们不会开枪。我有一个小方面:Spring 春季4&x2B;方面,spring,aspectj,spring-aop,Spring,Aspectj,Spring Aop,我对方面有问题。他们不会开枪。我有一个小方面: @Aspect @Component public class SynchronizingAspect { @Pointcut("execution(public * *(..))") @Around("synchronize() && @annotation(Synchronized)") public void synchronize(ProceedingJoinPoint joinPoint) thro
@Aspect
@Component
public class SynchronizingAspect {
@Pointcut("execution(public * *(..))")
@Around("synchronize() && @annotation(Synchronized)")
public void synchronize(ProceedingJoinPoint joinPoint) throws Throwable {
Logger.getGlobal().log(Level.SEVERE, "LOOOOOOOOL");
joinPoint.proceed();
}
}
以及一种带有注释的方法:
@Synchronized
@Transactional
@Override
public User create(Map<String, Object> values) {
return super.create(values);
}
@已同步
@交易的
@凌驾
公共用户创建(映射值){
返回super.create(值);
}
在我的配置文件中
<aop:aspectj-autoproxy />
我使用的是spring 4.1.5
和aop的依赖项:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.6.11</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.6.11</version>
</dependency>
org.springframework
春季aop
${spring.version}
org.aspectj
aspectjrt
1.6.11
org.aspectj
aspectjweaver
1.6.11
如果有人能告诉我为什么它不工作并帮我修复它,我将非常感激
致以最良好的祝愿,
Matt。似乎
创建
方法上的@Transactional
正在干扰您的自定义方面
请尝试按以下方式指定您的方面。这将使执行顺序高于@Transactional
的方面。(请注意,参数值1是任意的,可以覆盖订单的默认设置)
我已经做到了。我删除了
并使用@enableAspectProxy
,现在它可以工作了。感谢您的回复 我将aspect dependencies更改为1.8.5版本,但它没有改变任何想法。您是否尝试过将aspect中的@Pointcut
和@Around
拆分为两个单独的方法?是的,我有这样的想法,您从哪里调用create
方法?来自另一个SpringBean?是的,来自控制器-
@Aspect
@Component
@Order(1)
public class SynchronizingAspect { ... }