SpringBoot 学习之EventListener事件监听

ApplcationEvent以及Listtener 是Spring 为咱们提供的一个事件监听、订阅的实现,内部实现的原理是观察者设计模式,设计初衷也是为了系统业务逻辑之间的解耦,提升系统可扩展性以及可维护性。在一些与业务无关的、通用的操做方法,咱们能够把它设计成事件监听器,事件发布者不须要考虑谁去监听、监听的具体内容是什么,发布者的工做只是为了发布事件而已。spring

在这里只是简单的讲解如何使用ApplicationEvent以及使用Listen来完成业务逻辑的解耦,不涉及到复杂的数据交互,全部须要引入的依赖不多,项目Pom.xml配置文件以下:设计模式

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
	<groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
	<scope>provided</scope>
</dependency>

事件源

首先要建立一个事件,监听都是围绕着事件来进行的。事件的代码很简单: ide

事件触发

事件发布是由ApplicationContext对象管控的,在事件发布以前须要注入 ApplicationContext对象,而后经过 publishEvent 方法完成事件发布。 spring-boot

事件处理程序

如今须要使用@component注解来声明该监听须要被Spring 注入管理,在用户注册监听实现方法上添加 @EventListener 注解,当有userRegisterEvent事件发布时候,监听程序会自动调用,而后根据方法内配置的事件完成监听设计

相关文章
相关标签/搜索