更新时间:2020年11月18日16时12分 来源:传智播客 浏览次数:
Spring AOP的面向切面编程,是面向对象编程的一种补充,用于处理系统中分布的各个模块的横切关注点,比如说事务管理、日志、缓存等。它是使用动态代理实现的,在内存中临时为方法生成一个AOP对象,这个对象包含目标对象的所有方法,在特定的切点做了增强处理,并回调原来的方法。
Spring AOP的动态代理主要有两种方式实现,JDK动态代理和cglib动态代理。JDK动态代理通过反射来接收被代理的类,但是被代理的类必须实现接口,核心是InvocationHandler和Proxy类。cglib动态代理的类一般是没有实现接口的类,cglib是一个代码生成的类库,可以在运行时动态生成某个类的子类,所以,CGLIB是通过继承的方式做的动态代理,因此如果某个类被标记为final,那么它是无法使用CGLIB做动态代理的。
猜你喜欢:
Spring Cloud是什么?怎么理解Spring Cloud?
Spring Boot框架和传统Spring框架相比有哪些优势?
下面是传智教育公开的几套Java课程,您可以下载和在线观看学习,如果想深入学习java并想找到不错的java开发相关工作,建议报班学习传智教育Java高级软件工程师课程。获取【Java视频教程+资料】加播妞:435946716。