首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

JDK-Proxy署理&CGLIB代理

2012-09-04 
JDK--Proxy代理&CGLIB代理概述代理模式主要有两种:静态代理和动态代理 静态代理类图之间的关系静态代理:比

JDK--Proxy代理&CGLIB代理
概述

代理模式主要有两种:静态代理和动态代理





静态代理类图之间的关系







静态代理:比如要在输出“HelloWorld”前打印一个字符串“Welcome”

A:先定义一个接口类





JDK提供的代理只能代理接口,代理类都需要实现InvocationHandler类,实现invoke方法。该invoke方法就是调用被代理接口的所有方法时需要调用的,该invoke方法返回的值是被代理接口的一个实现类。

package com.mypack.test;import org.junit.BeforeClass;import org.junit.Test;import com.mypack.aop.CGLIBProxyFactory;import com.mypack.aop.JDKProxyFactory;import com.mypack.service.PersonService;import com.mypack.service.impl.PersonServiceBean;public class Demo {@BeforeClasspublic static void setUpBeforeClass() throws Exception {}@Testpublic void testJDKProxySave() {JDKProxyFactory factory = new JDKProxyFactory();PersonService personService = (PersonService) factory.createProxyInstance(new PersonServiceBean("liudong"));personService.save();}@Testpublic void testCGLIBProxySave() {CGLIBProxyFactory factory = new CGLIBProxyFactory();PersonService personService = (PersonService) factory.createProxyInstance(new PersonServiceBean("liudong"));personService.save();}}

热点排行