吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring AOP(面向切面编程)
2024-08-31 09:59:10
面向切面编程(AOP)和面向对象编程(OOP)类似,也是一种编程模式。Spring AOP 是基于 AOP 编程模式的一个框架,它的使用有效减少了系统间的重复代码,达到了模块间的松耦合目的。
AOP 的全称是“Aspect Oriented Programming”,即面向切面编程,它将业务逻辑的各个部分进行隔离,使开发人员在编写业务逻辑时可以专心于核心业务,从而提高了开发效率。
AOP 采取横向抽取机制,取代了传统纵向继承体系的重复性代码,其应用主要体现在事务处理、日志管理、权限控制、异常处理等方面。
目前最流行的 AOP 框架有两个,分别为 Spring AOP 和 AspectJ。
Spring AOP 使用纯 Java 实现,不需要专门的编译过程和类加载器,在运行期间通过代理方式向目标类植入增强的代码。
AspectJ 是一个基于 Java 语言的 AOP 框架,从 Spring 2.0 开始,Spring AOP 引入了对 AspectJ 的支持。AspectJ 扩展了 Java 语言,提供了一个专门的编译器,在编译时提供横向代码的植入。
为了更好地理解 AOP,就需要对 AOP 的相关术语有一些了解,这些专业术语主要包含 Joinpoint、Pointcut、Advice、Target、Weaving、Proxy 和 Aspect,它们的含义如下:
Joinpoint(连接点) 指那些被拦截到的点,在 Spring 中,可以被动态代理拦截目标类的方法。
Pointcut(切入点) 指要对哪些 Joinpoint 进行拦截,即被拦截的连接点。
Advice(通知) 指拦截到 Joinpoint 之后要做的事情,即对切入点增强的内容。
Target(目标) 指代理的目标对象。
Weaving(植入) 指把增强代码应用到目标上,生成代理对象的过程。
Proxy(代理) 指生成的代理对象。
Aspect(切面) 切入点和通知的结合。
最新文章
- [LeetCode] Sum Root to Leaf Numbers 求根到叶节点数字之和
- java基础 作业(一)
- XE6 &; IOS开发之免证书真机调试(1):颁发属于自己的App签名证书(有图有真相)
- Android_Dialog
- mysql保存emoji表情(微信开发用户昵称..)
- Swift 2.0 UIAlertView 和 UIActionSheet 的使用
- 超高速指数模糊算法的实现和优化(10000*10000在100ms左右实现)。
- mybatis-java代码调用部分
- 643. Maximum Average Subarray
- ActiveMQ嵌入Tomcat
- HTML CSS 特殊字符表
- easyui 面板title 加东西
- Tensorflow学习资源
- 适合初学者的python实际例子
- 安装selenium和chromedriver
- Mac OSX 快捷键&;命令行
- win7 xampp 验证码,session出不来的问题
- 微信小程序——手把手教你写一个微信小程序
- LeetCode: Permutations 解题报告
- Java——抽象类、接口