AOP Aspect Oriented Programming 面向切面编程 Spring
什么是AOP的技术?
Aspect Oriented Programming 的缩写 意为:面向切面编程。
AOP是一种编程范式,属于软件工程范畴。指导开发者如何组织程序结构。
利用AOP
- 可以对业务逻辑进行隔离
- 降低耦合度
- 提高程序的可重用性。
- 提高开发效率
- 减少重复代码
- 提供开发的效率
- 维护方便
AOP底层既是代理技术
- JDK动态代理 编写的程序必须要有接口
- cglib代理技术 生成类的子类
AOP专业术语
- Joinpoint(连接点) 所谓连接点是指那些被拦截到的点,在spring中指的是方法。因为spring只支持方法类型的连接点
- Pointcut(切入点) 所谓切入点是指我们要对那些Joinpoint(连接点)进行拦截的定义
Advice(通知/增强) 通知是指拦截到Joinpoint(连接点)之后所要做的事情就是通知。通知分为:
- 前置通知
- 后置通知
- 异常通知
- 最终通知
- 环绕通知(切面要完成的功能)
- Target(目标对象) 代理的目标对象
- Weaving(织入) 是指把增强应用到目标对象来创建新的代理对象的过程
- Proxy(代理) 一个类被AOP织入增强后,就产生一个结果代理类
- Aspect(切面) 是切入点和通知的结合,需要自己填写和配置
何谓切面Aspect
切面 = Pointcut切入点 + Advice增强
类 = 编写配置文件 + 编写方法
- 编写切面类
- 编写增强方法
- 配置Spring文件
最终通知 after
目标对象方法执行成功或者失败 都会增强类似finally
后置通知 after-returning
目标对象方法执行成功 才会增强
异常通知 after-throwing
目标对象方法执行失败 才会增强
环绕通知 around
自己决定增强的位置 如果使用了环绕通知,目标对象的方法默认不执行,需要手动执行目标方法
AOP Aspect Oriented Programming 面向切面编程 Spring相关推荐
- AOP Aspect Oriented Programming
原理 AOP(Aspect Oriented Programming),也就是面向方面编程的技术.AOP基于IoC基础,是对OOP的有益补充. AOP将应用系统分为两部分,核心业务逻辑(Core bu ...
- SpringBoot—集成AOP详解(面向切面编程Aspect)
关注微信公众号:CodingTechWork,一起学习进步. AOP介绍 AOP概述 AOP是Aspect-Oriented Programming,即为面向(切面)方面编程.在维基百科中的解释: ...
- xml的方式配置AOP:Aspect Oriented Programming
在某些类中, 什么时机, 做什么事情 切入点(point-cut): 在某些类中(Class<?>[] itfc = new Class<?>[] { IStudentSer ...
- 一个简单的Spring的AOP例子(JAVA面向切面编程)
公司要求分享技术,一个小组九个人,每周一个人,想想讲讲AOP吧,用处也挺大的,果断写了一个小例子,改了改也就成了.这是个简单AOP例子,包括前置通知,后置通知,环绕通知,和目标对象. 目标对象的接口: ...
- java spring 面向切面编程_Spring Boot实战系列(3)AOP面向切面编程
AOP是一种与语言无关的程序思想.编程范式.项目业务逻辑中,将通用的模块以水平切割的方式进行分离统一处理,常用于日志.权限控制.异常处理等业务中. 快速导航 编程范式主要以下几大类 AOP(Aspec ...
- Springboot 一文搞懂AOP面向切面编程
Springboot AOP面向切面编程 AOP简介 AOP(Aspect Oriented Programming)面向切面编程,一种编程范式,指导开发者如何组织程序结构. 作用:在不惊动原始设计的 ...
- 【字节码插桩】Android 打包流程 | Android 中的字节码操作方式 | AOP 面向切面编程 | APT 编译时技术
文章目录 一.Android 中的 Java 源码打包流程 1.Java 源码打包流程 2.字符串常量池 二.Android 中的字节码操作方式 一.Android 中的 Java 源码打包流程 Ja ...
- java springboot aop_Spring Boot实战系列(3)AOP面向切面编程
AOP是一种与语言无关的程序思想.编程范式.项目业务逻辑中,将通用的模块以水平切割的方式进行分离统一处理,常用于日志.权限控制.异常处理等业务中. 快速导航 编程范式主要以下几大类 AOP(Aspec ...
- iOS面向切面编程-AOP
1. AOP简介 AOP: Aspect Oriented Programming 面向切面编程. 面向切面编程(也叫面向方面):Aspect Oriented Programming(AOP),是目 ...
最新文章
- ASP隐藏文件地址,并在下载时替换文件名
- WEB前端笔试题(4)
- 画活动图教程_二次元人物头发怎么画?画好头发有什么技巧?
- mysql重命名数据表称方式_在MySQL中,使用()重命名数据表。_学小易找答案
- oracle tovarchar2_oracle数据库中varchar2陷阱
- WEB OS + WEB IM(续)
- 阿里工程师手把手教你设计 B 端垂类营销中心!
- Speak a Good Word for SB
- arduino智能浇花系统_自动浇花套件
- 【大数据部落】用关联规则和聚类探索药物配伍规律
- c++数据格式化输出/字符串复制/字符串比较
- NLP实践——Few-shot事件抽取《Building an Event Extractor with Only a Few Examples》
- 使用CSS打造很有亲和力的各种web2.0操作提示效果 使用CSS打造很有亲和力的各种web2.0操作提示效果
- cocos creator实例--FlappyBird游戏的分析
- python立方根求解_python – 如何获得立方根的整数?
- python 抽奖 完全公平的随机数算法_抽奖 随机数
- 如果我写一个开源的HIS软件
- vue解决-4048报错
- Java图书馆管理系统毕业设计、JAVA图书借阅系统设计与实现 毕设作品参考
- 趣味seo-网站被搜索引擎降权恢复的六大诀窍