spring_使用CGlib 创建代理

来源:互联网 发布:c语言函数手册 chm 编辑:程序博客网 时间:2024/06/05 07:41
public class CGlibProxyFactory implements MethodInterceptor {private Object targetObject;public Object getProxyInstance(Object targetObject){this.targetObject = targetObject;Enhancer enhancer = new Enhancer();enhancer.setSuperclass(targetObject.getClass());//非finalenhancer.setCallback(this);return enhancer.create();}@Overridepublic Object intercept(Object proxy, Method method, Object[] args, MethodProxy methodProxy) throws Throwable {PersonServiceBean bean = (PersonServiceBean) targetObject;Object returnValue = null;if(bean.getUser() != null){returnValue = methodProxy.invoke(this.targetObject, args);}return returnValue;}}
原创粉丝点击