写测试类来测试。。也不需要整合JUnit了就是个普通的测试类。
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
我们要看就是有没有给我们真正的实现 记录日志
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
配置起作用了。
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP

三个方法都调用一下
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
目前我们的配置只能对saveAccount增强
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
通常情况下 我是对业务层所有的方法添加增强,尤其是在事务控制时

切点表达式的写法

阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP

阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP

访问修饰符可以省略

阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
运行测试。没有问题
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP

返回值可以使用通配符,表示任意返回值

这里也就是void 用*代替了。
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP

包名可以使用通配符

阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP

包名可以使用..

阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
任意包下只有有AccountServiceImpl类 里面的方法saveAccount方法都会被增强
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP

阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP

类名和方法名都可以使用*来实现通配

阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
先把类名改成*
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
AccountServiceImpl这个类名改成了*
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
把方法名也改成了*。表示没有参数的方法都被增强了。
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
保存和删除都被增强了
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP

参数列表

阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
这里参数写上int类型
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
只有一个方法参数是int的
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP

参数写个*。表示有参数就可以
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP

阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
参数改成..点点
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
这样是哪个方法全部被增强
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP

实际开发中的写法

在实际的开发中不要写上这种全统配的方式,这种方式有个很大的问题,当你的程序在执行的时候,所有类的方法都满足这个条件。你的增强代码被这些方法都执行了一次。这显然不是我们想要的

通常的写法
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP

aspectj

aspectj是语言的软件联盟。负责给我解析切入点表达式
阶段3 2.Spring_08.面向切面编程 AOP_5 切入点表达式的写法-LMLPHP

05-11 16:11