1、新建類,類上添加注解 @Component ,該類用于在項目啟動時處理數據加載任務;
2、該類實現 ApplicationRunner 接口,并重寫 run 方法;
3、在重寫的 run 方法里處理數據加載任務;
注意:
有定時加載數據需求的話,添加定時任務即可;
一次性加載大數據量時可能內存溢出;
同一個項目中,可以定義多個 ApplicationRunner
的實現類;
存在多個 ApplicationRunner
的實現類時,可通過 @Order
注解來確定執行順序,數值越小(值可為負數),越先執行;
@Component
public class InitDataService implements ApplicationRunner {private final PeopleInfoMapper peopleInfoMapper;@Autowiredpublic InitDataService(PeopleInfoMapper peopleInfoMapper) {this.peopleInfoMapper = peopleInfoMapper;}public static List<String> nameList = Collections.synchronizedList(new ArrayList<>());@Overridepublic void run(ApplicationArguments args) throws Exception {nameList = peopleInfoMapper.getAllData();System.err.println(" InitDataService " + nameList.size());}}