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