Java 如何使用AspectJ进行Spring持久性异常转换
我将Spring3.0与AspectJ一起使用,我更喜欢使用AspectJ而不是AOP代理。 这几乎适用于所有问题,但不适用于持久性例外翻译我的问题是如何使用AspectJ来进行持久性异常转换,而不是使用SpringJDK AOP代理 我的配置的相关部分包括:Java 如何使用AspectJ进行Spring持久性异常转换,java,spring,jpa,aop,aspectj,Java,Spring,Jpa,Aop,Aspectj,我将Spring3.0与AspectJ一起使用,我更喜欢使用AspectJ而不是AOP代理。 这几乎适用于所有问题,但不适用于持久性例外翻译我的问题是如何使用AspectJ来进行持久性异常转换,而不是使用SpringJDK AOP代理 我的配置的相关部分包括: <context:spring-configured/> ... <context:component-scan /> .... <tx:annotation-driven mode="aspect
<context:spring-configured/>
...
<context:component-scan />
....
<tx:annotation-driven mode="aspectj" transaction-manager="transactionManager" />
...
....
如果您针对spring-aspects.jar进行编译,这应该是现成的。请参见org.springframework.orm.jpa.aspectj.jpaeExceptionTranslatorAspect
,以获取参考。也许它的切入点没有涵盖您的场景,在这种情况下,您需要使用自己的切入点扩展方面。以下是包含的标准切入点:
pointcut entityManagerCall(): call(* EntityManager.*(..))
|| call(* EntityManagerFactory.*(..))
|| call(* EntityTransaction.*(..))
|| call(* Query.*(..));