自定义spring监听器,监听某个方法
时间: 2023-02-19 19:23:44 浏览: 103
boot-example-event-2.0.5
在 Spring 中,可以使用自定义监听器来监听某个方法的执行。
首先,需要创建一个类并实现 org.springframework.context.ApplicationListener 接口,这个类就是自定义的监听器。在监听器中,需要重写 onApplicationEvent 方法,这个方法会在监听的事件发生时被调用。
其次,需要创建一个事件类,这个类需要继承 org.springframework.context.ApplicationEvent 类。在这个事件类中,需要定义一个构造函数,用来传入需要监听的方法的执行结果。
最后,在需要监听的方法中,调用 Spring 的事件发布器(org.springframework.context.ApplicationEventPublisher)的 publishEvent 方法来发布事件。
示例代码如下:
```java
// 自定义监听器
public class CustomListener implements ApplicationListener<CustomEvent> {
@Override
public void onApplicationEvent(CustomEvent event) {
// 处理事件
System.out.println("收到事件: " + event.getResult());
}
}
// 自定义事件
public class CustomEvent extends ApplicationEvent {
private String result;
public CustomEvent(Object source, String result) {
super(source);
this.result = result;
}
public String getResult() {
return result;
}
}
// 需要监听的方法
@Component
public class MethodToListen {
@Autowired
private ApplicationEventPublisher eventPublisher;
public void execute() {
// 执行方法
String result = "方法执行结果";
// 发布事件
eventPublisher.publishEvent(new CustomEvent(this, result));
}
}
```
在 Spring 配置文件中,需要将自定义监听器和事件类声
阅读全文