Spring AOP не может работать для @Around - PullRequest
0 голосов
/ 16 мая 2018

В настоящее время я работаю над AOP, но кое-что из-за того, что AOP не может работать, @around не вызывается после и до выполнения на конкретном контроллере. Следующий код - мой код.

// мой контроллер

package com.rest.controllers;
class ManCon{
@PostMapping(EndPointReferrer.UPDATE_DEALER_SCHEME_MAPPING_DETAILS)
    public ResponseEntity<BaseResponse> updateDealerSchemeMappingDetails(
            @RequestBody @NotNull @Valid Myclass obj){
    return null;  
   }

}

// конфигурация

@Configuration
@EnableAspectJAutoProxy(proxyTargetClass = true)
@ComponentScan(basePackages = {"com.aop"})
public class AOPConfiguration {

    @Bean(autowire = Autowire.BY_TYPE)
    public SchemeMappingPortalAspect schemeMappingPortalAspect(){ return new SchemeMappingPortalAspect(); }

}

// Аспект

@Aspect
public class SchemeMappingPortalAspect {

    private static final org.slf4j.Logger logger = LoggerFactory.getLogger(SchemeMappingPortalAspect.class);

    @Pointcut("execution(* com.rest.controllers.ManCon.updateDealerSchemeMappingDetails(..))")
    public void schemeMappingPointcut(){
    }

    /*
    * This is used for scheme mapping portal loging
    * */
    @Around(value = "schemeMappingPointcut()")
    public Object loggingSchemePortalDetail(ProceedingJoinPoint joinPoint) throws Throwable{
        logger.debug("-------------------------");
        logger.debug("In before calling");
        logger.debug("-------------------------");
        Object o=null;
        try {
            o= joinPoint.proceed();
            System.out.println("JSON::"+ new Gson().toJson(o));
        }catch (Exception e){
            e.printStackTrace();
        }
        logger.debug("-------------------------");
        logger.debug("In After Calling");
        logger.debug("-------------------------");
        return o;
    }

}
...