jdk的动态代理的条件:
===>要实现动态代理的首要条件是:被代理类必须实现一个接口,回想一下前面的分析吧。当然了,现在也有很多技术如CGLIB可以实现不需要接口也可以实现动态代理的方
式。
动态代理的应用
代理模式应用得非常广泛,大到一个系统框架、企业平台,小到代码片段、事务处理,稍不留意就用到代理模式。可能该模式是大家接触最多的模式,而且有了AOP大家写代理就
更加简单了,有类似Spring AOP和AspectJ这样非常优秀的工具,拿来主义即可!不过,大家可以看看源代码,特别是调试时,只要看到类似$Proxy0这样的结构,你就应该知道这是一
个动态代理了。友情提醒,在学习AOP框架时,弄清楚几个名词就成:切面(Aspect)、切入点(JoinPoint)、通知(Advice)、织入(Weave)就足够了,理解了这几个名词,应用时你
就可以游刃有余了!
(1)普通代理,代理和被代理实现相同的接口。代理者拥有被代理者的引用
一:接口
1 package com.nonbank.commons.aop; 2 /** 3 * 接口类 4 * @author sxf 5 * 6 */ 7 public interface Player { 8 /** 9 *打怪升级 10 */ 11 public void killBoss(); 12 }