Spring AOP的面向切面编程,是面向对象编程的一种补充,用于处理系统中分布的各个模块的横切关注点,比如说事务管理、日志、缓存等。它是使用动态代理实现的,在内存中临时为方法生成一个AOP对象,这个对象包含目标对象的所有方法,在特定的切点做了增强处理,并回调原来的方法。
Spring AOP的动态代理主要有两种方式实现,JDK动态代理和cglib动态代理。JDK动态代理通过反射来接收被代理的类,但是被代理的类必须实现接口,核心是InvocationHandler和Proxy类。cglib动态代理的类一般是没有实现接口的类,cglib是一个代码生成的类库,可以在运行时动态生成某个类的子类,所以,CGLIB是通过继承的方式做的动态代理,因此如果某个类被标记为final,那么它是无法使用CGLIB做动态代理的。
猜你喜欢:
Spring Cloud是什么?怎么理解Spring Cloud?
Spring Boot框架和传统Spring框架相比有哪些优势?
课程。获取【Java视频教程+资料】加播妞:435946716。
-
Java教程
-
Java教程
-
Java教程
-
Java教程
-
Java教程
-
Java教程
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/253736.html