美文网首页
Java语言里AOP的实现种类

Java语言里AOP的实现种类

作者: 乔伯 | 来源:发表于2015-10-22 12:55 被阅读93次

    Aspect Oriented Programming的缩写,面向切面变成,就像是拦路打劫,把别人执行的逻辑中间拦下来,干自己的事情,至于别人的逻辑能不能继续,或者怎样继续,你都可以控制。

    网上介绍AOP的文章一大堆,比如 百度百科维基百科上就有。

    在Java语言了里边AOP有三种实现方式。

    编译期AOP

    就是干预javac的编译过程,把代码直接编译到class文件里边,这样不影响运行的性能。
    这种实现的代表有:AspectJ

    运行期AOP

    就是编译过程我不管,我管的是ClassLoader。Java 要想执行一个class文件,首先要通过ClassLoader把class字节码加载到内存,然后执行,那么这种实现就是在加载的过程中,把class字节码改了,相当于把这个拦截逻辑写入到字节码。还有一种方式就是在运行期根据配置动态生成class字节码,然后再通过ClassLoader去重新加载class字节码。

    这种实现的代表有:AspectWerkzSpring、JDK的动态代理。

    参考
    http://www.blogjava.net/hello-yun/archive/2014/09/28/418365.html

    相关文章

      网友评论

          本文标题:Java语言里AOP的实现种类

          本文链接:https://www.haomeiwen.com/subject/mcjthttx.html