AOP面向切面编程
来源:互联网 发布:个人淘宝店铺转让 编辑:程序博客网 时间:2024/06/01 09:11
一。为何要用AOP
为了代码的复用我们将相同的方法抽出出来,通过继承的方法实现。但是有时候,相同的方法却不能抽取出来。
图中粗体代码是用来监测性能的。比如创建删除需要多少时间。这时候虽然他们都有
transManaget.beginTransaction(); 等方法,但是这些方法和业务紧密连接在一起。无法抽取出来。
代码关系,如图所示,这就像一个树的切面。这也是切面概念的由来。
抽取,继承采用的是纵向的方式,复用代码。
AOP,采用横向的方法抽取。把共同的代码抽取出来,使用的时候再织入在一起。
AOP的基本概念:
- 连接点
- 切点
- 增强
- 目标对象
- 引介
- 织入
- 代理
- 切面
连接点:方法前,方法后。这样的确定点。叫连接点。
切点:只能定位到某一个方法上。Pointcut
增强: 程序代码+方位。Advice
(方位+切点=连接点)
目标对象:目标类 target
引介:一种特殊的增强,为类添加属性和方法 Introduction
织入:1.编译器织入,需要特殊的JAVA编译器
2. 类装载器织入,需要特殊的类装载器。
3. 动态代理织入,为目标类添加增强生成子类。
代理:目标类被织入增强了,就产生了一个结果类。
切面:切面由切点和增强引入。
AOP的工作就是讲增强逻辑代码织入到目标对象的连接点上。
阅读全文
0 0
- AOP,面向切面编程
- AOP面向切面编程
- 面向切面编程 (AOP)
- AOP--面向切面编程
- AOP面向切面编程
- AOP面向切面编程
- AOP面向切面编程
- AOP面向切面编程
- AOP 面向切面编程
- AOP面向切面编程
- 面向切面编程AOP
- AOP面向切面编程
- AOP面向切面编程
- AOP面向切面编程
- AOP面向切面编程
- AOP面向切面编程
- AOP (面向切面编程)
- Aop面向切面编程
- PullToRefresh使用
- 关于mysql inner join 连接查询的优化
- 什么是关联挖掘?如何利用顾客的购物习惯提高销售额?
- wx.saveImageToPhotosAlbum将图片保存到本地
- CSS基础2-悬停
- AOP面向切面编程
- 南阳理工OJ915解题报告
- FTPrep, 80 Remove Duplicates from Sorted Array II
- qt 创建插件和使用
- Linux C服务器开发需要注意的问题
- Mybatis使用order by排序使用#无法正确执行的解决之#与$的区别
- Java Calendar 类用例(处理时间)
- 正则表达式教程
- Eclipse 安装Spring Tool Suite(STS)