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;
}
}

浙公網安備 33010602011771號