@EventListener使用
时间: 2023-10-20 16:03:58 浏览: 98
@EventListener是一个Spring框架的注解,用于注册事件监听器。当有事件发生时,被注解的方法会被自动调用。
使用@EventListener的步骤如下:
1. 创建一个事件类,继承自ApplicationEvent。
```java
public class MyEvent extends ApplicationEvent {
public MyEvent(Object source) {
super(source);
}
}
```
2. 创建一个事件监听器类,添加@EventListener注解。
```java
@Component
public class MyEventListener {
@EventListener
public void onApplicationEvent(MyEvent event) {
//处理事件
}
}
```
3. 发布事件。
```java
@Autowired
private ApplicationEventPublisher publisher;
public void publishEvent() {
publisher.publishEvent(new MyEvent(this));
}
```
在上面的代码中,MyEventListener类中的onApplicationEvent方法将会在MyEvent事件发生时被自动调用。
@EventListener注解还支持条件过滤和异步执行等功能。例如,可以使用@EventListener(condition = "#event.value > 0")来指定只有当事件的值大于0时才执行监听器方法。可以使用@Async注解来指定监听器方法异步执行。
阅读全文