小编nb.*_*iev的帖子

Spring AOP建议被调用两次

我有以下Spring AOP建议,我无法找出它被调用两次的原因:

@Component
@Aspect
public class LoggingAspects {

    Logger logger = LoggerFactory.getLogger(LoggingAspects.class);

    @AfterReturning(pointcut = "execution(public * com.A.B.C.service.impl.*.browse(..))",
            returning = "retVal")
    public Object onBrowse(DomainClass retVal) {
        logger.info("#######################Advice Called: +retVal);
        return null;
    }

}
Run Code Online (Sandbox Code Playgroud)

配置很简单:

<aop:aspectj-autoproxy></aop:aspectj-autoproxy>

<bean id="loggingCASAspect" class="com.minervanetworks.xtv.stb.service.aspects.LoggingCASAspects"/> 
Run Code Online (Sandbox Code Playgroud)

我也尝试了以下相同结果的建议(调用两次).

@AfterReturning(pointcut="@annotation(com.A.B.C.service.impl.LOG)", returning="retVal")
public Object onBrowse(JoinPoint jp, DomainClass retVal) {
    logger.info("#######################Advice called! " + jp.toLongString()
    + " Target: " + jp.getTarget()
    + " Signature: " + jp.getSignature()
    + " Kind: " + jp.getKind()
    + " This: " + jp.getThis()
    + " Source Location: …
Run Code Online (Sandbox Code Playgroud)

aop spring-aop

5
推荐指数
1
解决办法
4959
查看次数

标签 统计

aop ×1

spring-aop ×1