【Spring Boot实战与进阶】自定义事件及监听
在Spring Boot中,我们可以通过定义事件和监听器来实现组件之间的通信。以下是一个简单的自定义事件和监听器的例子:
首先,定义一个自定义事件类:
import org.springframework.context.ApplicationEvent;
public class CustomEvent extends ApplicationEvent {
private String message;
public CustomEvent(Object source, String message) {
super(source);
this.message = message;
}
public String getMessage() {
return message;
}
}
然后,创建一个监听器来处理这个事件:
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
@Component
public class CustomEventListener {
@EventListener
public void handleCustomEvent(CustomEvent event) {
System.out.println("Custom event received: " + event.getMessage());
}
}
最后,在需要的地方发布这个事件:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Service;
@Service
public class CustomEventPublisher {
@Autowired
private ApplicationEventPublisher publisher;
public void publish(String message) {
CustomEvent event = new CustomEvent(this, message);
publisher.publishEvent(event);
}
}
当你调用publisher.publishEvent()
方法时,Spring Boot会通知所有监听CustomEvent
事件的组件,并执行它们的方法。这种方式可以用于处理各种不同的场景,例如资源的创建和修改,或者是特定的系统事件。
评论已关闭