因某些需求需要在開機是啓動監聽,然後調用數據庫查詢數據。遇到的問題是執行方法太快,導致Service還沒有成功注入,拋出空指針異常。
解決辦法:
public class FaceRecordListen implements ApplicationListener<ContextRefreshedEvent> {
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
if(event.getApplicationContext().getParent() == null){//排除projectName-servlet context
//需要執行的邏輯代碼,當spring容器初始化完成後就會執行該方法。
//other code....
//XXXXXService.XXXXXX
}
}
}