1. 程式人生 > >Spring Boot (Web 篇):整合監聽器Listener

Spring Boot (Web 篇):整合監聽器Listener

說在前面

Listener簡介:https://blog.csdn.net/Soinice/article/details/82787964

上一篇文章已經對定義Filter 的方法進行了說明,監聽器(Listener)的註冊方法和Filter一樣,不清楚的可以檢視下上一篇文章:https://blog.csdn.net/Soinice/article/details/82801002

在spring boot中新增自己的Listener有兩種方法,程式碼註冊Listener和註解自動註冊(Servlet和Filter也是如此)。

 一、程式碼註冊通過ServletListenerRegistrationBean 獲得控制。  也可以通過實現 ServletContextInitializer 介面直接註冊。

 二、在 SpringBootApplication 上使用@ServletComponentScan註解後,Listener可以直接通過 @WebListener註解自動註冊,無需其他程式碼。

在pom.xml加入相關依賴

當然,通過idea 建立預設spring boot web 專案,會預設含有這個屬性

1)通過ServletListenerRegistrationBean進行程式碼註冊

編寫監聽器 Listener

註冊監聽器 Listener

將 Listener 註冊成 Bean。在上文建立的 WebMvcConfig類中新增如下程式碼:

頁面訪問(專案啟動)

2)通過註解@ServletComponentScan進行程式碼註冊

編寫監聽器 Listener

在Listener 類添加註解@WebListener:

註冊監聽器 Listener

將 Servelt 進行元件掃描。在應用啟動SpringBootDemoApplication類中添加註解@ServletComponentScan:

頁面訪問(專案啟動)

總結

Servlet的監聽器Listener,它是實現了javax.servlet.ServletContextListener 介面的伺服器端程式,它也是隨web應用的啟動而啟動,只初始化一次,隨web應用的停止而銷燬。

主要作用是:做一些初始化的內容新增工作、設定一些基本的內容、比如一些引數或者是一些固定的物件等等。

原始碼下載

[相關示例完整程式碼]請獲取 相關分支哦:feature-20180910-web