版本
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-oauth2-authorization-server</artifactId>
<version>3.1.0</version>
</dependency>
RedisTemplate配置
@Bean(name = "redisTemplate")
@ConditionalOnClass(RedisOperations.class)
public RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory factory) {
RedisKeyStringSerializer keyStringSerializer = new RedisKeyStringSerializer(keyPrefix);
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(factory);
// Key 采用String 的序列化方式
template.setKeySerializer(keyStringSerializer);
// hash 的 key 也采用 String 的序列化方式
template.setHashKeySerializer(keyStringSerializer);
// value 序列化方式采用 jackson
template.setValueSerializer(RedisSerializer.json());
// hash的value序列化方式采用jackson
template.setHashValueSerializer(RedisSerializer.json());
template.afterPropertiesSet();
return template;
}
OAuth2Authorization把这个对象缓存进了redis, 序列化不出来,它里面的AuthorizationGrantType没提供无参构造.
如果将Redis配置成RedisSerializer.java()
就会导致不好查看,不知道还没有其他的解决办法。