赞
踩
package com.king.aspect; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.*; import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.Map; /** * Created by Administrator on 2017/9/6. */ @Aspect @Component public class LogAspect { /** * 切点 */ @Pointcut("execution(* com.king.controller.*.*(..))") public static void poingCat(){} @After(value = "poingCat()") public void after(JoinPoint joinPoint){ System.out.println("==============后置通知start==============="); } @Before(value = "poingCat()") public void before(JoinPoint joinPoint){ System.out.println("==============前置通知start==============="); } @AfterThrowing(value = "poingCat()") public void afterThrowing(JoinPoint joinPoint){ System.out.println("===============方法抛出异常执行============="); } @AfterReturning(value = "poingCat()",returning="result") public void afterReturning(JoinPoint joinPoint,Object result){ System.out.println("===============方法返回正常执行============="); Map<String,Object> map = new HashMap<String,Object>(); map.put("code","SUCCESS"); map.put("msg","成功"); map.put("data",result); } //@Around(value = "poingCat()") public Object around(ProceedingJoinPoint joinPoint)throws Throwable{ System.out.println("================环绕通知start=================="); Object retVal = null; String method = joinPoint.getSignature().getName(); System.out.println("请求方法=="+method+"=="); Object[] args = joinPoint.getArgs(); for (Object o:args){ System.out.println("环绕请求参数=="+o+"=="); } Object obj = joinPoint.proceed(); Map<String, Object> map = null; if(obj instanceof java.util.Map){ System.out.println("返回类型为Map"); //接口返回的数据 map = (Map)obj; map.put("code","SUCCESS"); map.put("msg","成功"); System.out.println("环绕通知返回=="+map+"=="); } else if(obj instanceof java.util.List){ System.out.println("返回类型为List"); } return map; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。