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

AOP署理

2012-07-27 
AOP代理AOP框架创建的对象,用来实现切面契约(例如通知方法执行等等)。在Spring中,AOP代理可以是JDK动态代理

AOP代理

       AOP框架创建的对象,用来实现切面契约(例如通知方法执行等等)。在Spring中,AOP代理可以是JDK动态代理或者CGLIB代理。AOP框架创建的对象,用来实现切面契约(例如通知方法执行等等)。在Spring中,AOP代理可以是JDK动态代理或者CGLIB代理。使用Aop首先导包aopalliance.jar,spring-aop-3.2.0.M1.jar,aspectjweaver.jar,cglib-nodep-2.1_3.jar暂时这些包

       1、不使用cglib.jar:当你不导该jar的时候,所有声明的切入点都必须实现一个接口,因为当声明了一个切入点时,Spring会为该目标对象创建一个代理,然而代理和该目标对象又没有任何关系,所以只能通过接口,即代理和目标对象都实现目标对象所实现的接口。

1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP 
2、如果目标对象实现了接口,可以强制使用CGLIB实现AOP 
3、如果目标对象没有实现了接口,必须采用CGLIB库,spring会自动在JDK动态代理和CGLIB之间转换

     总之,建议优先使用JDK的动态代理

热点排行