@Order(1)
@Component
public class YjStartRunner implements CommandLineRunner {
@Resource
private InitStartService initStartService;
@Override
public void run(String... args) {
initStartService.initData();
}
}
Service层:
public void initData() {
trafficVehicleService.initTraffic();
vehicleUseService.initVehicleUse();
familyService.initFamilyDic();
}
具体的初始化方法实现:
public void initTraffic() {
List<String> vehicleList = trafficExtMapper.vehicleTypes();
if (CollectionUtils.isEmpty(vehicleList)) {
logger.error("project start init redis traffic vehicle data error !!");
weChatService.sendMsg("项目启动加载数据到redis失败,请尽快处理!");
throw new YjException(CodeConst.INIT_REDIS_FAIL);
}
redisTemplate.opsForValue().set(CacheConst.TRAFFIC_VEHICLE_KEY, JSONObject.toJSONString(vehicleList), 14, TimeUnit.DAYS);
logger.info("init redis data ,traffic vehicle size :{} ", vehicleList.size());
}
然后项目启动时就可以看到日志输出:
init redis data ,traffic vehicle size : 200
然后就可以去redis验证一下数据有没有加载进去了
该博客介绍了如何在SpringBoot项目启动时初始化数据到内存或Redis。Service层提供了具体的方法,启动日志显示成功加载了200条traffic vehicle数据,读者可以通过验证Redis来确认数据是否已加载。
1251

被折叠的 条评论
为什么被折叠?



