栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring AOP 的实现原理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring AOP 的实现原理

Spring AOP 中的动态代理主要有两种方式,JDK 动态代理和 CGLIB 动态代理。JDK 动态代
理通过反射来接收被代理的类,并且要求被代理的类必须实现一个接口。JDK 动态代理的
核心是 InvocationHandler 接口和 Proxy 类。
如果目标类没有实现接口,那么 Spring AOP 会选择使用 CGLIB 来动态代理目标类。CGLIB
(Code Generation Library),是一个代码生成的类库,可以在运行时动态的生成某个类
的子类,注意,CGLIB 是通过继承的方式做的动态代理,因此如果某个类被标记为 final,
那么它是无法使用 CGLIB 做动态代理的。

动态代理(cglib 与 JDK)

JDK 动态代理类和委托类需要都实现同一个接口。也就是说只有实现了某个接口的类可以
使用 Java 动态代理机制。但是,事实上使用中并不是遇到的所有类都会给你实现一个接
口。因此,对于没有实现接口的类,就不能使用该机制。而 CGLIB 则可以实现对类的动态
代理。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/345048.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号