Java实现AOP的几种方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java实现AOP的几种方式相关的知识,希望对你有一定的参考价值。

参考技术A (1)AOP的各种实现
在编译器修改源代码、在运行期字节码加载前修改字节码或字节码加载后动态创建代理类的字节码。以下是各种实现机制的比较:
类别分为静态AOP(包括静态织入)和动态AOP(包括动态代理、动态字节码生成、自定义类加载器、字节码转换)。
静态织入:
a、原理:在编译期,切面直接以字节码形式编译到目标字节码文件中 ;
b、优点:对系统性能无影响;
c、缺点:不够灵活;
动态代理 :
a、原理:在运行期,目标类加载后,为接口动态生成代理类。将切面织入到代理类中;
b、优点:更灵活;
c、缺点:切入的关注点要实现接口;

AOP的实现方式有哪几种?

如题,AOP的实现方式。但我知道2种,JDK动态代理和CGLIB库,貌似还有3种?

常见有三种实现方式:
1.利用代理模式动态的实现AOP,从具体的技术细节又可以分为静态代理,动态代理,CGLIB生成子类代理。
2.使用预编译的方法静态进行代理。
3.使用自定义加载器的方法动态进行代理。
后两种代理都可以代理更多的内容(比如构造函数,静态方法,静态块,final方法,私有方法等)。
参考技术A 据我所知,就两种实现方式,就是楼主所说的JDK动态代理和CGLIB,
所谓其他实现方式应该是JDK动态代理的不同表现形式吧
参考技术B 专业人士还要问人哦,呵呵.看来学无止境啊.

以上是关于Java实现AOP的几种方式的主要内容,如果未能解决你的问题,请参考以下文章

AOP的实现方式有哪几种?

AOP的实现方式有哪几种?

Java 定时任务的几种实现方式

AOP的几种实现方法

JAVA多线程实现的几种方式

几种排序算法及Java实现排序的几种方式