内容预览:
- 面向切面编程的基本原理
- 为POJO创建切面
进入学习之前先了解什么是POJO?
POJO(Plain Ordinary Java Object):简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。—百度百科
一.什么是面向切面编程?
1.可以在一个地方定义通用的功能,我们可以 通过声明的方式定义这个功能以何种方式在何处使用,而无需修改受影响的类。横切关注点可以被模块化为特殊的类,这些类被称为切面,如下图所示:
2.常见的AOP术语的定义
- 通知:切面的工作被称为通知。spring中的切面可以应用以下5中通知:
- 连接点:一个应用可能需要对数以千计的时机应用通知,这些时机被称为连接点。
- 切点:匹配通知所要织入的一个或者多个连接点,有助于缩小切面所通知连接点的范围。
- 切面:通知和切点的结合。
3.spring对AOP支持
- spring通知是java编写的
- spring在运行期通知对象
- spring只支持方法连接点
二.使用切点选择连接点
在spring AOP中需要使用AspectJ的切点表达式语言来定义切点。下图列出了spring AOP所支持的AspectJ切点指示器:
1.编写切点
2.使用spring的bean()指示器
三.在XML中声明切面
下图显示了声明切面时所用到的配置元素:
1.声明前置和后置通知
2.声明环绕通知(待续…)