教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

Spring AOP实现原理和常见代理的区别

更新时间:2020年11月18日16时12分 来源:传智播客 浏览次数:

Spring AOP的面向切面编程,是面向对象编程的一种补充,用于处理系统中分布的各个模块的横切关注点,比如说事务管理、日志、缓存等。它是使用动态代理实现的,在内存中临时为方法生成一个AOP对象,这个对象包含目标对象的所有方法,在特定的切点做了增强处理,并回调原来的方法。

Spring AOP的动态代理主要有两种方式实现,JDK动态代理和cglib动态代理。JDK动态代理通过反射来接收被代理的类,但是被代理的类必须实现接口,核心是InvocationHandler和Proxy类。cglib动态代理的类一般是没有实现接口的类,cglib是一个代码生成的类库,可以在运行时动态生成某个类的子类,所以,CGLIB是通过继承的方式做的动态代理,因此如果某个类被标记为final,那么它是无法使用CGLIB做动态代理的。


猜你喜欢:

Spring Boot如何实现微服务?

Spring Cloud是什么?怎么理解Spring Cloud?

怎么配置Spring容器中的Bean?

Spring Boot框架和传统Spring框架相比有哪些优势?

传智播客Java培训课程





下面是传智教育公开的几套Java课程,您可以下载和在线观看学习,如果想深入学习java并想找到不错的java开发相关工作,建议报班学习传智教育Java高级软件工程师课程获取【Java视频教程+资料】加播妞1605146928606_课程资料.jpg:435946716。



0 分享到:
和我们在线交谈!