Spring mvc Aop

 

有时没有源代码,只有架包,又想修改别的代码,可以通过AOP方式修改

 

package com.***.payment.zytv.plat.tyzh.aop;



import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.util.List;


/**
 * @author: glory.xu
 * @date: 2021/9/27
 * Describe:AOP 计费策略在base里,不改base,通过aop来修改计费策略返回数据
 */

@Component
@Aspect
public class PayStrategyAopAspectJ {

    private Logger logger = LoggerFactory.getLogger(this.getClass());



    @Around("execution(* com.****.payment.zytv.plat.base.pay.biz.PayStrategyBiz.getStrategy(..))")
    public Object doAround(ProceedingJoinPoint pjp) throws Throwable{
        // 调用方法的参数
        Object[] args = pjp.getArgs();
        try{
            String modelType="";
          
            String channelId="";
            PayStrategyRequest payStrategyRequest=(PayStrategyRequest)args[0];
            修改操作。。。。。

            
          
            
        }catch (Exception err){

        }

        Object result=pjp.proceed();
        return result;
    }

}

  

posted @ 2021-09-28 19:57  glory.xu  阅读(47)  评论(0编辑  收藏  举报