Java实现AOP的几种方式

Python013

Java实现AOP的几种方式,第1张

(1)AOP的各种实现

在编译器修改源代码、在运行期字节码加载前修改字节码或字节码加载后动态创建代理类的字节码。以下是各种实现机制的比较:

类别分为静态AOP(包括静态织入)和动态AOP(包括动态代理、动态字节码生成、自定义类加载器、字节码转换)。

静态织入:

a、原理:在编译期,切面直接以字节码形式编译到目标字节码文件中 ;

b、优点:对系统性能无影响;

c、缺点:不够灵活;

动态代理 :

a、原理:在运行期,目标类加载后,为接口动态生成代理类。将切面织入到代理类中;

b、优点:更灵活;

c、缺点:切入的关注点要实现接口;

AOP切面算是比较理论的东西,使用较少,属于总结出来的理论,大多数人都知道,但不会专门地使用,一般都是默认会操作。比如将一些通用的方法单独写一个类,这些都是写代码时候自己会用的,并不算是很特别、专门拿出来使用、研究的工具

工作中java开发,使用最多的为增删改查,其次是用debug来调试程序解决问题,联调测试等等。