springboot 監聽器的簡單示例

在上家公司,有一次我面試別人時問過一個問題“如果你在web項目啓動時,就要做一個操作,刪除服務器裏面某個硬盤的日誌,這些日誌是之前留下來的,現在重新啓動需要把之前的日誌清除,你可以怎麼做?”

答案是,可以寫一個監聽器去做這個操作。

監聽器有很多種,本文介紹 servlet上下文監聽器 ServletContextListener。

下面給一個入門例子,只需要簡單的2部。

(1)用註解@WebListener寫一個監聽器,繼承ServletContextListener。通常在裏面的contextInitialized 方法做一些項目啓動前的預處理。

@WebListener
public class StartListener implements ServletContextListener{
    @Override
    public void contextDestroyed(ServletContextEvent arg0) {
        System.out.println("【監聽器 StartListener】 contextDestroyed method %%%%%%%%%%%%%%%%");
    }
    @Override
    public void contextInitialized(ServletContextEvent arg0) {
        System.out.println("【監聽器 StartListener】StartListener contextInitialized method %%%%%%%%%%%%%%");
        System.out.println("在監聽器中做一些預處理..........");
    }
}
(2)在啓動類加上註解 @ServletComponentScan ,啓動類即springboot 中帶有main方法的那個啓動類。

啓動項目,在啓動完成前會執行下面2句話:

System.out.println("【監聽器 StartListener】StartListener contextInitialized method %%%%%%%%%%%%%%");
System.out.println("在監聽器中做一些預處理..........");


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章