java常用设计模式及JDK与CGLIB实现动态代理区别(源码)

时间:2016-09-03 12:03:13
【文件属性】:
文件名称:java常用设计模式及JDK与CGLIB实现动态代理区别(源码)
文件大小:12KB
文件格式:ZIP
更新时间:2016-09-03 12:03:13
java设计模式 java常用设计模式及JDK与CGLIB实现动态代理区别(源码) /** * 使用cglib动态代理 * @author * */ public class BookFacadeProxy implements MethodInterceptor{ private Object target; @Override public Object intercept(Object obj, Method method, Object[] objs, MethodProxy proxy) throws Throwable { System.out.println("事物开始.........."); proxy.invokeSuper(obj, objs); System.out.println("事物结束.........."); return null; } /** * 创建代理对象 */ public Object getInstance(Object target){ this.target = target; Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(this.target.getClass()); //回调 enhancer.setCallback(this); //创建代理对象 return enhancer.create(); } } package org.sg.sgg.mode.proxy.jdkProxy.trendProxy2; /** * java JDK实现动态代理 * @author * */ public class Test2 { public static void main(String[] args) { UserService userService = new UserServiceImpl(); UserHandlerProxy proxy = new UserHandlerProxy(userService); UserService userServiceProxy = (UserService)proxy.getInstance(); userServiceProxy.add(); } }
【文件预览】:
proxy
----cglibProxy1()
--------BookFacadeImpl.java(206B)
--------Test.java(288B)
--------BookFacade.java(105B)
--------BookFacadeProxy.java(930B)
----cglibProxy2()
--------Test2.java(266B)
--------SayHello.java(148B)
--------SayHelloCglibProxy.java(973B)
----jdkProxy()
--------trendProxy3()
--------trendProxy2()
--------staticProxy1()
--------trendProxy1()
----d.java(57B)
----模式描述.txt(1KB)

网友评论