1. 程式人生 > >springboot 監聽器的簡單示例

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("在監聽器中做一些預處理..........");

相關推薦

springboot aop簡單示例

AOP為Aspect Oriented Programming的縮寫,意為:面向切面程式設計,通過預編譯方式和執行期動態代理實現程式功能的統一維護的一種技術。AOP是Spring框架中的一個重要內容,它通過對既有程式定義一個切入點,然後在其前後切入不同的執行內容,比如常

springboot 監聽器簡單示例

在上家公司,有一次我面試別人時問過一個問題“如果你在web專案啟動時,就要做一個操作,刪除伺服器裡面某個硬碟的日誌,這些日誌是之前留下來的,現在重新啟動需要把之前的日誌清除,你可以怎麼做?” 答案是,可以寫一個監聽器去做這個操作。 監聽器有很多種,本文介紹 servlet上

SpringBoot+Mybatis+Thymeleaf的簡單示例

花了點時間做了SpringBoot+Mybatis+Thymeleaf的簡單示例,同樣是在SpringBoot學習記錄(三)——整合Mybatis的基礎上改的。只有用過之後,印象才能更加深刻,記錄一下學習的過程,以備後續使用。 專案整體目錄:剛剛學習SpringBoot沒多久,所以用prop

springboot activiti工作流簡單示例

最近一直研究springboot,根據工作需求,工作流需要作為一個單獨的微服務工程來提供給其他服務呼叫,現在簡單的寫下工作流(使用的activiti)微服務的搭建與簡單使用 jdk:1.8 資料庫:mysql  5.7 IDE:eclipse springboot:1.5.

SpringBoot整合RabbitMQ 簡單示例

引入依賴jar包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spr

springboot+rabbitmq整合示例

param resource pom del actor .cn pri 完全 pan 關於什麽是rabbitmq,請看另一篇文: http://www.cnblogs.com/boshen-hzb/p/6840064.html 一、新建maven工程:springboot

[shell]system和execlp簡單示例

div print logs $1 script col echo null ram shell腳本:hello.sh #!/bin/bash echo "i am in shell script" echo "param 1 is $1" echo "param 2 i

Asp.Net Core WebAPI入門整理(二)簡單示例

序列 open exc tor pda template ssa net found 一、Core WebAPI中的序列化 使用的是Newtonsoft.Json,自定義全局配置處理: // This method gets called by the runtime.

JAVA入門[20]-Hibernate簡單示例

roo mysql play ger 4.3 path arc result 建數據庫 一、Hibernate簡介 在很多場景下,我們不需要使用JdbcTemplate直接操作SQL語句,這時候可以用ORM工具來節省數大量的的代碼和開發時間。ORM工具能夠把註意力從容易出

死鎖的簡單示例

clas rgs system stack 更改 示例 鎖定 相等 mage 什麽是死鎖? 死鎖是指兩個或兩個以上的進程在執行過程中,由於競爭資源或者由於彼此通信而造成的一種阻塞的現象,若無外力作用,它們都將無法推進下去。 產生死鎖的四個必要條件: (1) 互斥條件:一個資

vue-router單頁應用簡單示例(一)

問題 clas 做了 設置 new scope 文件的 log target 請先完成了項目初始化,具體請看我另一篇博文。vue項目初始化 看一下完成的效果圖,很典型的單頁應用。 .vue後綴名的單文件組件 這裏先說一下我對組件的理解。組件,顧名思義就是一組元素組成的

vue-router單頁應用簡單示例(二)

數據 prop tps div -1 可重用性 example 定位 .com 我們先來理一下思路。 圖1:main.js 引入vue,App.vue,router/index.js文件 聲明要渲染的Id為app,將App.vue中的模版渲染到入口界面(就

[pthread]Linux C 多線程簡單示例

簡單 _exit bsp clas flags thread read arm color #include <stdio.h> #include <pthread.h> pthread_mutex_t mutex; pthread_con

Echart 使用圖表簡單示例

har echarts 網格 ntb rip common 圖表 技術分享 nes 簡單應用方式: <div id="main"></div> 引用Echart <script src="js/echarts.common.min.js"&

簡單示例用例(Simple Example Use Cases)--hive GettingStarted用例翻譯

翻譯 nload insert fields 清洗 group eas lease wid 1、MovieLens User Ratings First, create a table with tab-delimited text file format: 首先,創建

Http 服務 簡單示例

port net all resp fatal nal fun final pack 現在我們實現一個GO的Web http服務 只做演示,沒有實際功能 但是能看出Go做Http服務的簡潔 **************************************** p

JavaSE8基礎 方法重寫簡單示例

改進 老師 image extend 基礎 pri 而且 rgs lips os :windows7 x64 jdk:jdk-8u131-windows-x64 ide:Eclipse Oxygen Release (4.7.0) 代碼:

JavaSE8基礎 鏈式編程 調用方法返回對象再調方法 簡單示例

ima jdk win dem 鏈式 教程 hello world log os :windows7 x64 jdk:jdk-8u131-windows-x64 ide:Eclipse Oxygen Release (4.7.0) 代碼:

JavaSE8基礎 Proxy 對接口進行動態代理 簡單示例

implement over ner 會有 proxy str .get 方法 執行 禮悟: 好好學習多思考,尊師重道存感恩。葉見尋根三返一,活水清源藏於零。 虛懷若谷良心主,皓月當空自在王。願給最苦行無悔,誠勸且行且珍惜。

springboot模擬簡單的filter

code 練習題 think rdk clr 詳解 pcf cgp 模式 Leetcode171ExcelSheetColumnNumbervi編輯器不顯示當前狀態關於JS循環TableCodeforces671DRoadsinYuslanddfs序+線段樹關於利用Spri