SpringBoot監聽器Listener


監聽器Listener:

SpringBoot 的監聽器多用於監聽Web應用中某些對象,信息的創建、銷毀、增加、修改、刪除等動作的發生,然后做出響應的處理。的那個范圍對象狀態發生變化時,服務器自動調用監聽器對象的方法,
使用場景:

  • 系統統計在線用戶
  • 系統加載時進行信息初始化
  • 系統網站的訪問量
    等.....

實現流程:

  • 自定義事件,一般是繼承ApplicationEvent抽象類
  • 定義事件監聽器,一般是實現ApplicationListener接口
  • 啟動的時候,需要把監聽器加入到spring容器中
  • 發布事件

其中配置監聽器的方法有四種:

  • applicationContext.addApplicationListener(new Mylistener())
  • 把監聽器加入到spring容器中管理,即類上加@Component注解
  • 在application.properties文件中使用context.listenser.classes配置配置項
  • 使用@EventListener注解,在方法上面加入@EventListener注解,同時該類需要納入到spring容器中管理

操作:

1、在需要被監聽的類集成ApplicationEvent類,並重寫該類的構造方法:
public class MyEvent extends ApplicationEvent{ public MyEvent(Object source,String params) { //定義成Object類 super(source); } }
2、使用剛才的四種方法的其中一種定義一個監聽器,這里使用類上加@Component注解的方法:
@Component public class Mylistener implements ApplicationListener<MyEvent>{ //<寫要監聽的對象> @Override public void onApplicationEvent(MyEvent event) { System.out.println("我開始監聽"+event.getClass()); } }

3、創建監聽對象的時候,第一個參數source如何填寫:

需要引入
@Component public class DemoPublisher { @Resource private ApplicationContext applicationContext; public void publish(String message){ applicationContext.publishEvent(new MyEvent(this,message)); } }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM