spring初始化後,做一些事情

2021-07-22 08:41:32 字數 846 閱讀 7157

我的目的是想在專案載入完畢之後,需要進行一些初始化的動作,比如從資料庫查詢資料,快取起來.
找到了三種方式:

第一種方式 

寫乙個類,實現beanpostprocessor,這個介面有兩個方法 

(1)postprocessbeforeinitialization方法,在spring中定義的bean初始化前呼叫這個方法; 

(2)postprocessafterinitialization方法,在spring中定義的bean初始化後呼叫這個方法; 

這個雖然也能執行,但是是每次載入乙個bean都會去執行,不太滿足我的要求,我只需要一次就ok了,但是這個介面針對某個專門的bean有用

@service

public

class

startuplistener

implements

}}

親測可用,但是我這個專案用不了,是專案比較特殊,載入了兩次spring mv容器,導致執行兩次,.
最後一種方式編寫initializingbean的實現類

@service

public

class

test

implements

initializingbean

}

專案在載入完畢後立刻執行afterpropertiesset 方法 ,並且可以使用spring 注入好的bean

4.第四種就是servlet,但是他不能使用spring 的bean 還需要手動獲取,比較麻煩.

spring 專案初始化後啟動執行類

springmvc通過實現servletcontextaware介面,來實現初始化後執行想要啟動的類。component public class commonstart implements servletcontextaware public class logreceive implement...

Spring 一 SpringMvc初始化流程

執行contextinitialized 方法,初始化root上下文,並建立spring ioc容器 2.filter 過濾器 執行init 方法 3.servlet 執行init 方法,初始化webmvc上下文,並建立springmvc ioc容器 注 spring和springmvc的容器具有父...

關於資料初始化的一些筆記

最近有乙個需求,是需要對線上的一些存量資料進行初始化,在投產當天,出現了效能問題,主要是使用了 update select 這種語法。ps 使用的資料庫是db2.背景 由於是銀行信貸系統,部分表資料量比較大,需要關聯 join 的表也比較多。當時由於沒有經驗,直接使用update select 語法...