1

是否可以对多个切入点使用相同的方面方法但使用 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 在将方面放在方法之后不会回滚

4

1 回答 1

0

我很确定不是。

ProceedingJoinPoint但是,您通常可以通过使用您拥有的对象作为参数来实现这种功能:

public Object logProcess(ProceedingJoinPoint joinPoint) throws Throwable

    MethodSignature signature = (MethodSignature) joinPoint.getSignature();
    Method method = signature.getMethod();
    if(method.getName().equals("methodA")) {

    }
    //etc..
于 2014-05-20T12:34:01.813 回答