Spring AOP学习笔记三

2018-08-13  本文已影响0人  代码potty

Spring AOP三个实战例子:
1、通过自定义一个注释类,然后定位到方法上

    @Target(ElementType.METHOD)
    @Retention(RetentionPolicy.RUNTIME)
    public @interface MusicAnnotation {
    }

然后注释到使用的方法上


image.png

2、通过@Before,@After,@AfterReturning,@AfterThrowing,@Around五种通知进行日志的管理

3、可以对一些接口或者方法,获取它的运行时间,如下所示

    @Around("checkAnno()")
        public Object AroundMethod(ProceedingJoinPoint joinPoint) throws Throwable {
            StopWatch stopWatch = new StopWatch();
            stopWatch.start();
    
            Object result = joinPoint.proceed();
    
            stopWatch.stop();
    
            System.out.println(stopWatch.getTotalTimeMillis());
    
            return result;
        }       

在需要的方法上注释,可以看到操作台显示的结果:


image.png

spring获取request的方法为
((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest()

上一篇下一篇

猜你喜欢

热点阅读