多语言展示
当前在线:1156今日阅读:138今日分享:34

spring自定义事件

spring自定义事件
工具/原料
1

spring

2

IntelliJ

方法/步骤
1

创建和发布自己的自定义事件。以下示例显示了一个扩展Spring ApplicationEvent 基类的简单类:

2

要发布自定义 ApplicationEvent ,请在 publishEvent() 方法上调用该方法ApplicationEventPublisher 。通常,这是通过创建一个实现 ApplicationEventPublisherAware并将其注册为Spring bean 的类来完成的 。

3

以下示例显示了这样一个类:

4

在配置时,Spring容器检测到 EmailService 实现 ApplicationEventPublisherAware 并自动调用setApplicationEventPublisher() 。实际上,传入的参数是Spring容器本身。您正通过其ApplicationEventPublisher 界面与应用程序上下文进行 交互。

5

要接收自定义 ApplicationEvent ,您可以创建一个实现 ApplicationListener 并将其注册为Spring bean的类。以下示例显示了这样一个类:

6

以下示例显示了用于注册和配置上述每个类的bean定义:

7

总而言之,当调用bean 的 sendEmail() 方法时 emailService ,如果有任何应该列入黑名单的电子邮件消息, BlackListEvent 则会发布类型的自定义事件 。该 blackListNotifier bean被注册为ApplicationListener 与接收 BlackListEvent ,此时它可以通知有关各方。

推荐信息