问题遇到的现象和发生背景
配置Springboot Security的时候,使用User 实现了UserDetails。然后使用 redis 把用户登录信息存放到 Redis中
然后从 redis 中利用 key 获取对应数据,能获取出来,但是没办法转成对应的User类了,只能是个 Object 。数据正常
问题相关代码,请勿粘贴截图
@GetMapping()
public void redisTest() {
User user = new User(); //User 类实现了 UserDetails
user.setId(1L);
user.setUsername("xxxxxx");
user.setPassword("123456");
user.setSex("女");
user.setCreateTime(new Date());
redisCache.setCacheObject("user",user);
Object o = redisCache.getCacheObject("user");
// Object o = redisTemplate.opsForValue().get("user");
System.out.println("o = " + o.toString()); // 这里查看 Obejct 中的数据正常
User userCast = (User) o; // 无法转换类型。直接报错
System.out.println("userCast = " + userCast);
}
}
运行结果及报错内容
我的解答思路和尝试过的方法
很多方法,都不行
我想要达到的结果
能正常转换成对应类型