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事件發佈時候,監聽程序會自動調用,而後根據方法內配置的事件完成監聽設計

相關文章
相關標籤/搜索