有時候我們在spring容器啟動完成后,我們需要做一些處理動作,這個時候怎么做呢?
spring提供了事件監聽器的處理機制。
spring提供了內置的幾類的事件:
ContextClosedEvent 、ContextRefreshedEvent 、ContextStartedEvent 、ContextStoppedEvent 、RequestHandleEvent
在spring容器啟動完成后會觸發ContextRefreshedEvent事件。
我們可以創建一個ContextRefreshedEvent事件監聽器。
public class DataSourceInitListener implements ApplicationListener<ContextRefreshedEvent> {
protected static final Logger LOGGER = LoggerFactory.getLogger(DataSourceInitListener.class);
@SuppressWarnings("unchecked")
@Override
public void onApplicationEvent(ContextRefreshedEvent ev) {
//防止重復執行。
if(ev.getApplicationContext().getParent() == null){
}
}
}
這個時候我們可以在這里寫相關代碼。
