Enhancer是啥

  • Post author:
  • Post category:其他


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 版权协议,转载请附上原文出处链接和本声明。