Spring使用AspectJ注解来声明通知方法
| 注解(Annotation) | 通知(Advice) |
|---|---|
| @Aspect | 表明此Class不仅是POJO,也是一个切面 |
| @After | 通知方法会在目标方法返回或抛出异常后调用 |
| @AfterReturning | 通知方法会在目标方法返回后调用 |
| @AfterThowing | 通知方法会在目标方法抛出异常后调用 |
| @Around | 通知方法会将目标方法封装起来 |
| @Before | 通知方法会在目标方法调用之前执行 |
| @Pointcut | 声明频繁使用的表达式 |
| @EnableAspectJAutoProxy | 启用AspectJ自动代理 |
@Pointcut 例子:
@Pointcut(execution(* concert.Performance.perform(..)))
public void performance(){}
然后后在AspectJ其他注解中用"Performance()"替代,如@Before(“performance()”)
@DeclareParents
@DeclareParents用于将接口引入bean中。
注解由三个部分组成:
- value属性指定引入接口的bean的类型。
- defaultImpl属性制定了为引入功能提供实现的类。
- @DeclareParents注解所标注的静态属性指明了要引入的接口。








网友评论