一、Redis配置文件
1.1、MyRedisConfig
/**
* @Author : 一叶浮萍归大海
* @Date: 2024/1/15 11:01
* @Description:
*/
@Configuration
public class MyRedisConfig extends CachingConfigurerSupport {
/**
* 解决RedisTemplate、StringRedisTemplate中文乱码问题
* @param connectionFactory
* @return
*/
@Bean
public RedisTemplate<Object, Object> redisTemplate(LettuceConnectionFactory connectionFactory) {
RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(connectionFactory);
redisTemplate.setKeySerializer(RedisSerializer.string());
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
redisTemplate.setHashKeySerializer(RedisSerializer.string());
redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
/**
* 解决Spring Session中文乱码
* 思路:RedisHttpSessionConfiguration ===> createRedisTemplate ===>配置一个bean名为springSessionDefaultRedisSerializer的RedisSerializer
* 参考:https://www.jianshu.com/p/dd1df913b1b2
* @return
*/
@Bean
public RedisSerializer<Object> springSessionDefaultRedisSerializer() {
GenericJackson2JsonRedisSerializer serializer = new GenericJackson2JsonRedisSerializer();
return serializer;
}
}
二、RestTemplate配置文件
2.1、MyRestTemplateConfig
/**
* @Author : 一叶浮萍归大海
* @Date: 2024/1/15 20:27
* @Description:
*/
@Configuration
public class MyRestTemplateConfig8083 {
@Bean
public RestTemplate restTemplate() {
SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
// 解决401报错时,报java.net.HttpRetryException: cannot retry due to server authentication, in streaming mode
requestFactory.setOutputStreaming(false);
RestTemplate restTemplate = new RestTemplate(requestFactory);
return restTemplate;
}
}