是否可以对多个切入点使用相同的方面方法,但是使用xml提供的参数不同? 像这样的东西(1和2是参数):
<!-- Aspect -->
<bean id="logAspect" class="LoggingAspect" />
<aop:config>
<aop:aspect id="aspectLoggging" ref="logAspect" >
<aop:pointcut id="testAround" expression="execution(* methodA(..))" />
<aop:pointcut id="testAroundC" expression="execution(* methodC(..))" />
<!-- @Around -->
<aop:around method="logProcess(1)" pointcut-ref="testAround" />
<aop:around method="logProcess(2)" pointcut-ref="testAroundC" />
</aop:aspect>
当我调用methodA时,我希望logProcess方法输出1 当我调用methodC时,我希望logProcess方法输出2
我的logProcess方法:
public Object logProcess(ProceedingJoinPoint joinPoint) throws Throwable {}
Spring @Transactional wont rollback after putting aspect around method
答案 0 :(得分:0)
我很不确定。
但是,您通常可以使用作为参数的ProceedingJoinPoint
对象来实现此类功能:
public Object logProcess(ProceedingJoinPoint joinPoint) throws Throwable
MethodSignature signature = (MethodSignature) joinPoint.getSignature();
Method method = signature.getMethod();
if(method.getName().equals("methodA")) {
}
//etc..