spring中AOP怎么使用

spring中AOP怎么使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站设计制作、成都网站制作、玉泉网络推广、重庆小程序开发、玉泉网络营销、玉泉企业策划、玉泉品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供玉泉建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

//AOP切面 :多个切面时,@Order(i)注解来标识切面的优先级。i的值越小,优先级越高
@Order(5)
@Aspect
@Component
public class SysAspect {

    @Pointcut("execution(public * com.zypcy.expend.controller.*.*(..))")
    public void log(){}

    private static final org.slf4j.Logger logger = LoggerFactory.getLogger(SysAspect.class);

    //统计请求的处理时间
    ThreadLocal startTime = new ThreadLocal<>();

    @Before("log()")
    public void doBefore(JoinPoint joinPoint) throws Throwable{
        startTime.set(System.currentTimeMillis());
        //接收到请求,记录请求内容
        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
        HttpServletRequest request = attributes.getRequest();
        //记录请求的内容
        System.out.println("Aspect_URL:"+request.getRequestURL().toString());
        System.out.println("Aspect_Method:"+request.getMethod());
    }

    @AfterReturning(returning = "ret" , pointcut = "log()")
    public void doAfterReturning(Object ret){
        //处理完请求后,返回内容
        System.out.println("方法返回值:"+ JSON.toJSONString(ret) +",方法执行时间:"+ (System.currentTimeMillis() - startTime.get()));
    }
}

看完上述内容,你们掌握spring中AOP怎么使用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


分享名称:spring中AOP怎么使用
分享路径:http://myzitong.com/article/geesoc.html