Spring AOP初步了解
来源:互联网 发布:知乎 清华法学院体验 编辑:程序博客网 时间:2024/05/21 15:50
作者:谢新亭
链接:https://www.zhihu.com/question/24863332/answer/105412266
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
此答案有毒,请谨慎服用。如果需要深入而且准确理解Spring的工作原理以及设计思想,请阅读以下官方文档。本稿仅供学习!
参考文档:http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/aop.html
(1)什么是AOP?如何理解面向切面编程?
(2)面向切面编程的好处?
(3)spring aop的实现原理?
什么是AOP?如何理解面向切面编程?
我们常常说面向XX编程开发,其实简单说来,无非就是一种编程模型或者编程思路的转换。在过去的编程开发中,我们习惯了将业务从头到尾按照它发生的顺序进行编程开发,这就是我们常常说起的面向过程开发。在这个过程中,我们需要分析出解决问题的步骤,然后利用函数把这些步骤一步一步实现开来。然而这种编程模型在初期软件实现步骤不多的情况下,不会出现太大的问题。但是随着时间的推移,软件越来越庞大,其中的业务逻辑也越来越复杂,这种编程模式就很容易失控。
于是我们又切换了另一种编程模型:面向对象编程。我们将过程式编程的方法给抽离开来,然后给他们划分成一个一个的编程对象,这个对象里有自己的行为,有自己独立的域。这种划分的好处让过去复杂庞大的业务逻辑被细化,从而变得简单易懂。
因此,从面向过程编程到面向对象编程,其实还是一种编程模型的转换而已。
说回面向切面编程。面向切换编程其实也是一种不同于过程与对象的编程模型。这种编程模型比面向对象又抽离了一层出来。在实际的开发过程中,开发者总会遇到各种各样的通用逻辑,这种通用逻辑,比如日志记录、事务管理、连接的开启与关闭等,这些逻辑与具体的业务逻辑耦合在一起,那么我们是否可以利用某种模型将这种通用逻辑给剥离出来呢?
因此我们定义了切面这种逻辑。我们在具体的业务逻辑的前面与后面定义好了一套切面,然后将这些通用逻辑都剥离出来后分布在这套切面上。这时候开发者就不用去关心这些通用逻辑了,而更加专注于他们的具体业务逻辑。
面向切面编程的好处
面向切面编程让开发者在制定好切面策略、切面触发时机等后,就可以对这些通用的逻辑置之不理,从而更加专注具体的复杂的业务逻辑当中。
另一方面,制定好的切面策略更换简单,不用像从前一样,一旦觉得切面逻辑不合适,就要大范围地修改代码,这种模型更加容易扩展,也方便维护。
spring aop的实现原理?
N/A
- Spring AOP初步了解
- 初步了解spring的aop
- Spring的AOP初步了解(四)
- 对AOP的初步了解
- Spring AOP 初步
- 初步理解spring aop
- spring AOP初步总结
- Spring AOP初步介绍
- Spring 和aop初步
- SPRING 了解初步
- Spring初步了解
- 了解Spring AOP
- 深入了解Spring AOP
- 深入了解Spring AOP
- spring中的aop初步认识
- 3. Spring Boot 初步了解
- 【Spring】AOP了解加实现
- Spring 通过注解了解AOP
- Java 删除ArrayList中指定元素
- UIButton的ImageView与TitleLabel对齐
- Android 不能使用内部资源
- JavaWeb学习笔记之SSM框架搭建配置文件
- 计蒜之道第四场第一题:淘宝流量分配
- Spring AOP初步了解
- ScrollView 里面 嵌套ListView 导致listview无法完全显示数据的问题
- C++中const详解
- web应用中的路径问题
- Codevs 1225 八数码难题
- 内连接与外连接
- leetcode 92 Reverse Linked List II
- Redis作者谈Redis比较适合的应用场景
- Node.js服务器端编程实践(一):服务器创建与hello world应答