这是有问题的代码。试图让AspectJ切入点击中事务性注释并引入变量
@Aspect
@EnableAspectJAutoProxy
public class TransactionAspect extends TransactionSynchronizationAdapter {
public TransactionMonitor transactionMonitor;
String message;
@Before("execution(@org.springframework.transaction.annotation.Transactional * *.*(..)) && args(message,..))")
public void registerTransactionSynchronization(String message) {
TransactionSynchronizationManager.registerSynchronization(this);
this.message = message;
}
public void setTransactionMonitor(TransactionMonitor transactionMonitor) {
this.transactionMonitor = transactionMonitor;
}
我在Spring配置文件中创建这方面的bean。
我本来该在@Before阻止 @Before( “@注释(org.springframework.transaction.annotation.Transactional)”)
这个工作。我有Transactional注释的地方会调用这个Pointcut。不过,我也需要从我和这方面的方法变量。这就是参数(消息)进来的地方。我尝试了几种不同的方式来检索该消息(这是一个字符串),但无济于事。
难道有人会知道我该如何制作这个Pointcut来实现事务性注释以及从我用Transactional注解的方法中提取一个变量?非常感谢你。
这工作完美。谢谢! –