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号