注解介绍
-
@Aspect: 用于定义一个切面
-
@Pointcut: 用于定义切入点的表达式。在使用时还需要定义一个包含名字和任意参数的方法签名来表示切入点名称。实际上,这个方法签名就是一个返回值void,且方法体为空的普通方法
-
@Before: 用于定义前置通知,在使用时通常需要指定一个value属性值,该属性值用于指定一个切入点表达式。
-
@AfterReturning: 用于定义后置通知,在使用时可以指定pointcut/value和retruning属性,其中pointcut/value这两个属性作用是一样的,都用于指定切入点表达式。returning属性值用于标识Advice方法中可定义与此同名的形参,该形参可用于访问目标方法的返回值。
-
@Around: 用于定义环绕通知,相当于MethodInterceptor.在使用时需要指定一个value属性,该属性用于指定该通知被植入的切入点。
-
@AfterThrowing:用于定义异常通知
-
@After:用于定义最终通知
实现过程
- 创建好目标类:在目标类上加上各自的注解
- 创建切面类:
- 加上@Aspect注解,声明切面类,再加上@Component
- 编写各通知的方法,加上各自的注解表达式
- 配置文件:只需配置注解扫描和启动注解