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