【发布时间】:2020-07-28 21:23:09
【问题描述】:
这是现有的代码:
@Transactional
// <-- Want to Pointcut to here, after Transactional is done, before method execution
public String getUsername(int userId) {
...
}
试图切入注释行,这是我到目前为止所尝试的:
@Around("@annotation(org.springframework.transaction.annotation.Transactional) " +
" && !target(org.springframework.transaction.interceptor.TransactionAspectSupport)")
public Object runQueryWithinTransaction(ProceedingJoinPointjp) throws Throwable {
...
}
还尝试将我的方面的顺序设置为 LowestPrecedence。尽管如此,我仍然看到我的 Aspect 在 Transactional 的“invokeWithinTransaction”方法之前被调用。尝试了“@After”,但这是在我的“getUsername”方法之后执行的。无缘无故地尝试了“@Before”,但这显然没有帮助。
我应该怎么做?
【问题讨论】:
标签: java annotations aop aspectj spring-annotations