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;}}
spring_使用CGlib 创建代理
最新推荐文章于 2023-04-14 15:53:19 发布