aop学习_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > aop学习

aop学习

 2012/3/20 13:59:07  hill007299  程序员俱乐部  我要评论(0)
  • 摘要:1aop的适用场景日志记录,跟踪,优化和监控事务的处理持久化性能的优化资源池,如数据库连接池的管理系统统一的认证、权限管理等应用系统的异常捕捉及处理针对具体行业应用的横切行为详见百度百科http://baike.baidu.com/view/73626.htm很详尽2重要概念Aspect:Aspect声明类似于Java中的类声明,在Aspect中会包含着一些Pointcut以及相应的Advice。Jointpoint:表示在程序中明确定义的点,典型的包括方法调用
  • 标签:学习

?

1 aop的适用场景

日志记录,跟踪,优化和监控 事务的处理 持久化 性能的优化 资源池,如数据库连接池的管理 系统统一的认证、权限管理等 应用系统的异常捕捉及处理 针对具体行业应用的横切行为

详见百度百科http://baike.baidu.com/view/73626.htm?很详尽

2 重要概念

 Aspect: Aspect 声明类似于 Java 中的类声明,在 Aspect 中会包含着一些 Pointcut 以及相应的 Advice。

 Joint point:表示在程序中明确定义的点,典型的包括方法调用,对类成员的访问以及异常处理程序块的执行等等,它自身还可以嵌套其它 joint point。

  Pointcut:表示一组 joint point,这些 joint point 或是通过逻辑关系组合起来,或是通过通配、正则表达式等方式集中起来,它定义了相应的 Advice 将要发生的地方。

  Advice:Advice 定义了在 pointcut 里面定义的程序点具体要做的操作,它通过 before、after 和 around 来区别是在每个 joint point 之前、之后还是代替执行的代码。

3 几种aop的java实现

http://www.360doc.com/content/06/0801/09/10266_170258.shtml

http://wayfarer.cnblogs.com/articles/241031.html

动态代理实现aop

http://developer.51cto.com/art/200906/130539.htm

http://www.cn-java.com/www1/?action-viewnews-itemid-3595

4 spring aop

http://www.blogjava.net/DoubleJ/archive/2008/03/04/183796.html

详细的spring aop概念

http://pandonix.iteye.com/blog/336873

http://jamesby.iteye.com/blog/39899

性能较高的动态代理实现cglib。jdk动态代理主要是面向接口代理 而Cglib主要是针对类的代理

cglib采用的是继承委托类的方式,缺点是不能代理final方法。

http://baike.baidu.com/view/1254036.htm

http://blog.sina.com.cn/s/blog_6151984a0100kvkw.html

动态代理是在运行时生成委托类的代理类,而静态代理是在编译时刻就确定了代理类

http://www.cnblogs.com/jqyp/archive/2010/08/20/1805041.html

5 实践spring aop

http://blog.csdn.net/tanghw/article/details/3862987

http://static.springsource.org/spring/docs/2.5.x/reference/aop.html

同时实验了采用jdk动态代理方式和cglib方式,实现代理对象aop。

比较令人疑惑的是没有发现cglib性能上的优势,执行速度差不多。???解释:

http://hi.baidu.com/haifengjava/blog/item/82649f51331a6c1e367abeee.html

看来大部分情况下还是cglib性能优越

?

?

发表评论
用户名: 匿名