spring 中aop是一种面向方面的编程思想和技术实现,还有一种是aspectJ aop,是两种不同的aop实现方案
spring aop使用jdk动态代理技术或者CGLIB实现,aspectJ aop使用ajc静态编译实现织入,acj是类似于javac的编译器,由于javac不能识别aspect语法,便发明了acj编译器
在AspectJ 1.5之后,引入@Aspect形式的注解风格的开发,spring2.0之后也使用了一样的注解,作为切面,但并没有使用ajc编译器,表明是spring aop,即虽然我们有使用依赖acpectJ的jar,但是并没有使用ajc编译器,所以都是spring aop的实现