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

Spring IOC AOP

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

Spring IOC AOP

IOC

IOC依靠DI实现。Spring 中的 IoC 的实现原理就是工厂模式+反射机制。

DI:构造函数注入, setter注入, 接口注入

AOP

如果目标对象实现了接口,使用JDK动态代理去创建代理对象。JDK Proxy 是通过拦截器+反射实现。

如果目标对象没有实现了接口,使用CGlib动态代理生成一个被代理对象的子类来作为代理。使用CGLib实现动态代理,CGLib底层采用ASM字节码生成框架,使用字节码技术生成代理类。

  • Jointpoint(连接点):具体的切面点点抽象概念,可以是在字段、方法上,Spring中具体表现形式是PointCut(切入点),仅作用在方法上。
  • Advice(通知): 在连接点进行的具体操作,如何进行增强处理的,分为前置、后置、异常、最终、环绕五种情况。
  • 目标对象:被AOP框架进行增强处理的对象,也被称为被增强的对象。
  • AOP代理:AOP框架创建的对象,简单的说,代理就是对目标对象的加强。Spring中的AOP代理可以是JDK动态代理,也可以是CGLIB代理。
  • Weaving(织入):将增强处理添加到目标对象中,创建一个被增强的对象的过程

AOP 实现原理:

静态代理:指使用 AOP 框架提供的命令进行编译,从而在编译阶段就可生成 AOP 代理类,因此也称为编译时增强

动态代理:在运行时在内存中“临时”生成 AOP 动态代理类,因此也被称为运行时增强

JDK 动态代理

CGLIB

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

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

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