Enhancer是cglib中使用频率很高的一个类,它是一个字节码增强器,可以用来为无接口的类创建代理。它的功能与java自带的Proxy类挺相似的。它会根据某个给定的类创建子类,并且所有非final的方法都带有回调钩子。对于aop编程的使用尤其的重要:
enhancer.setCallback(new MethodInterceptor(){
@Override
public Object intercept(Object proxy, Method method, Object[] arg2, MethodProxy methodProxy) throws Throwable {
// 前方法
myAspect.before();
//执行目标类的方法
Object obj=method.invoke(userservice, arg2);
//后方法
myAspect.after();
return obj;
}});
版权声明:本文为qq_41258326原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。