Java spring aop Around

package com.hh.aop;<br></br><br></br>import org.aspectj.lang.ProceedingJoinPoint;<br></br>import org.aspectj.lang.annotation.Around;<br></br>import org.aspectj.lang.annotation.Aspect;<br></br>import org.aspectj.lang.annotation.Before;<br></br>import org.aspectj.lang.reflect.MethodSignature;<br></br>import org.springframework.stereotype.Component;<br></br><br></br>@Aspect<br></br>@Component<br></br>public class LogAop {<br></br><br></br>//    private EntityManager entityManager;<br></br><br></br>    @Around("execution(* com.hh.controller..*.*(..))")<br></br>    public Object aopController(ProceedingJoinPoint joinPoint) throws Throwable {<br></br><br></br>        System.out.println("around");<br></br>        //获取方法参数值数组<br></br>        Object[] args = joinPoint.getArgs();<br></br>        //得到其方法签名<br></br>        MethodSignature methodSignature = (MethodSignature) joinPoint.getSignature();<br></br>        //获取方法参数类型数组<br></br>        Class[] paramTypeArray = methodSignature.getParameterTypes();<br></br>        System.out.println(methodSignature.getParameterNames());<br></br>        System.out.println(paramTypeArray);<br></br>        Object result = joinPoint.proceed(args);<br></br>        System.out.println("=====checkSecurity====");<br></br><br></br>        for (int i = 0; i < joinPoint.getArgs().length; i++) {<br></br>            System.out.println(joinPoint.getArgs()[i]);<br></br>        }<br></br>        System.out.println(joinPoint.getSignature().getName());<br></br><br></br><br></br><br></br>        return result;<br></br>    }<br></br>}

声明:该文章系转载,转载该文章的目的在于更广泛的传递信息,并不代表本网站赞同其观点,文章内容仅供参考。

本站是一个个人学习和交流平台,网站上部分文章为网站管理员和网友从相关媒体转载而来,并不用于任何商业目的,内容为作者个人观点, 并不代表本网站赞同其观点和对其真实性负责。

我们已经尽可能的对作者和来源进行了通告,但是可能由于能力有限或疏忽,导致作者和来源有误,亦可能您并不期望您的作品在我们的网站上发布。我们为这些问题向您致歉,如果您在我站上发现此类问题,请及时联系我们,我们将根据您的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。