some notes about spring aop

Posted Moriatry

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了some notes about spring aop相关的知识,希望对你有一定的参考价值。

1 . 
timeCountIntecetor implements handlerInterceptor {
     preHandle(); postHandle(); afterComplete();
}
 
 
 2 . 动态代理 by implement InvocationHandler (对接口)
class MyProxy implements InvocationHandler
{
    Object obj;
    public Object bind(Object obj)
    {
        this.obj = obj;
        return Proxy.newProxyInstance(obj.getClass().getClassLoader(), obj
                .getClass().getInterfaces(), this);
    }
    @Override
    public Object invoke(Object proxy, Method method, Object[] args)
            throws Throwable
    {
        System.out.println("I‘m proxy!");
        Object res = method.invoke(obj, args);
        return res;
    }
}
 
public class DynamicProxy
{
    public static void main(String[] args)
    {
        MyProxy myproxy = new MyProxy();
        HoseeDynamicimpl dynamicimpl = new HoseeDynamicimpl();
        HoseeDynamic proxy = (HoseeDynamic)myproxy.bind(dynamicimpl);
        System.out.println(proxy.sayhi());
    }
}

  

 
 3 . 对类:
@Aspect
ServiceTimeCountAspect:
 
 
@Pointcut("execution(* me.ele.jarch.aries.service.*.*(..))")
    private void serviceMethod() {
    }
 
//  @Around("me.ele.jarch.aries.aspect.ServiceTimeCountAspect.serviceMethod()")
//    @Around("serviceMethod() || repositoryMethod()")
    @Around("serviceMethod()")
    public Object logServiceMethodRunningTime(ProceedingJoinPoint pjp)
            throws Throwable {
        // start stopwatch
        StopWatch watch = new StopWatch();
        watch.start();
 
        Object retVal = pjp.proceed();
 
        // stop stopwatch
        watch.stop();
        Long time = watch.getTotalTimeMillis();
        String methodName = pjp.getSignature().getName();
 
        logger.info("service method: {} time count : {}", methodName, time);
 
        return retVal;
    }
 
Spring AOP 会动态选择使用 JDK 动态代理、CGLIB 来生成 AOP 代理,如果目标类实现了接口,Spring AOP 则无需 CGLIB 的支持,直接使用 JDK 提供的 Proxy 和 InvocationHandler 来生成 AOP 代理即可。

以上是关于some notes about spring aop的主要内容,如果未能解决你的问题,请参考以下文章

ST:(homework 3)Some problems about Graph Coverage

some try on func swap about & and *

Some facts about topological sort

Some tips about python

[List] Some Interesting Problems about Games

Some tips about argument in python