标签:连接 npoi 类加载器 生成 proxy spring 代理 java实现 ram
Aspect Oriented Programming面向切面编程,OOP的延续
横向抽取机制,取代传统纵向继承体系(性能监视、事务管理、安全检查、缓存)
OOP? Object-oriented programming面向对象编程
aop使用纯Java实现,不需要专门的编译过程和类加载器,在运行期通过代理方式向目标类织入增强代码
织入?
Joinpoint(连接点):在spring中指的是方法类型的连接点。连接点是指被拦截到的点
Pointcut(切入点):对哪些需要进行拦截的Joinpoint的定义
Advice(通知/增强):拦截到Joinpoint之后做的事情
分为:前置通知,后置通知,异常通知,最终通知,环绕通知(切面要完成的功能)
Introduction(引介):在不修改类代码下的一种特殊通知,可以在运行期为类动态添加方法或Field
Aspect(切面):切入点和通知(引介)的结合
Target(目标对象):代理的目标对象
Weaving(织入):增强应用到目标对象来创建新的代理对象的过程
Spring→动态代理织入 AspectJ(整合在spring中)→编译期织入和类转载期织入
AspectJ?是一个面向切面的框架,它扩展了Java语言。AspectJ定义了AOP语法,所以它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件。
Proxy(代理):一个类被AOP织入增强后,产生的一个结果代理类
标签:连接 npoi 类加载器 生成 proxy spring 代理 java实现 ram
原文地址:https://www.cnblogs.com/thyHome/p/9062310.html