AOP简单了解
AOP(Aspect Oriented Programming)面向切面编程,一种编程范式,指导开发者如何组织程序结构
OOP(Object Oriented Programming)面向对象编程
作用:不惊动原始设计的基础上为其进行功能增强
AOP核心概念
-
连接点(JoinPoint):程序执行过程中的任意位置,粒度为执行方法,抛出异常、设置变量等
在SpringAOP中,理解为方法的执行 -
切入点(Pointcut)匹配连接点的式子
在SpringAOP中,一个切入点可以只描述一个具体方法,也可以匹配多个方法
一个具体方法,包下的接口返回的无形参无返回值的save方法
匹配多个方法,所有save方法,所有的get开头的方法,所有Dao结尾的接口中的任意方法,所有带有一个参数的方法
- 通知(advice):在切入点处执行的操作,也就是共性功能,抽离公共的代码
SpringAOP中,功能最终以方法的形式呈现
通知类:定义通知的类
切面(Aspect):描述通知和切入点的对应关系
public class BookDaoImpl implements BookDao {
public void save() {
//记录程序当前执行(开始时间)
Long startTime = System.currentTimeMillis();
//业务执行万次
for (int i = 0; i < 10000; i++) {
System.out.println("book dao save...");
}
//记录程序当前执行(结束时间)
Long endTime = System.currentTimeMillis();
//计算时间差
Long totalTime = endTime - startTime;
//输出信息
System.out.println("执行万次消耗时间:" + totalTime + "ms");
}
public void update() {
System.out.println("book dao update...");
}
public void delete() {
System.out.println("book dao delete...");
}
public void select() {
System.out.println("book dao select...");
}
}
网友评论