SpringEvent使用@EventListener注解

源码解析:

@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})

@Retention(RetentionPolicy.RUNTIME)

@Documented

public @interface EventListener {

@AliasFor("classes") Class<?>[] value() default {};

@AliasFor("value") Class<?>[] classes() default {};

String condition() default "";

}

用法

1、使用value或者classes指定需要监听的事件类型;

2、如果只需要监听一种类型参数,则直接在此注解标注的方法参数上写处理的事件类型参数即可;

3、如果该注解标注的方法的返回值不是void,则会将返回值作为事件,继续发布,如果是数组或集合则分开发布;

4、该注解可以配合@Order注解一块使用来指定监听方法执行的顺序

5、condition中可以写SpEL表达式,#root.event可以引用事件对象,#root.args可以引用方法参数。

SpringEvent使用@EventListener注解

@EventListener 异步使用@Async


SpringEvent使用@EventListener注解

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章