springboot项目启动时,加载字典信息,放置到redis缓存中
hash类型
@Component
public class InitParameter implements ApplicationRunner {
@Autowired
private ZdxxService zdxxService;
@Autowired
private RedisTemplate redisTemplate;
@Override
public void run(ApplicationArguments args) {
List<String> xtdmList = zdxxService.getXtdmList();
if (xtdmList.size() > 0) {
for (String xtdm : xtdmList) {
Map<String, Map<String, Object>> system = zdxxService.getZdxxListByXtdm(xtdm);
if (system != null) {
system.forEach((K, V) -> {
V.forEach((k, v) -> {
redisTemplate.setKeySerializer(new StringRedisSerializer());
//hash内部对象序列化,解决对象乱码
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.opsForHash().put(BaseFrameConstant.DICT_PREFIX + K, k, v);
});
});
}
}
}
}
}