@AspectJ准备
AspectJ是一个面向切面的框架,它扩展了Java语言。AspectJ定义了AOP语法所以它有一个专门的编译器用来生成遵守Java字节编码规范的Class文件。
在使用AspectJ之前,我们需要导入aspectJ相应的jar包,可到我的资源页http://download.csdn.net/detail/qwe6112071/9468329 中下载,而如果使用maven则可直接在pom.xml中加入如下代码:
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.1</version>
</dependency>
AspectJ使用示例
前面我们把增强织入到目标对象是通过在IOC容器中配置代理对象工厂实现的,这样做的缺点很明显,如果我需要为大量的类织入相同的增强时,我需要将每个类都配置进去,操作繁琐,除了这种方法,我们还能使用@AspectJ注解,通过在增强的类方法中标注注解的形式来配置增强,同时我们可以通过切点表达式函数来定义切点,这种切点定位的功能是动态而及其强大的。针对前面文章spring学习笔记(6)AOP增强(advice)配置与应用中同样的示例,我们来看看如何用@AspectJ来实现。
1. 配置切面(在原来前置增强的基础上)
package test.aop;