Enhancer是啥

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;
			}});

你可能感兴趣的:(java)