填坑之路!Srpingboot+Redis redisTemplate 做测试时候报空指针异常(注入为NULL)

今天整合Springboot+redis做测试的时候发现了

stringRedisTemplate报空指针错误,原因是注入时候stringRedisTemplate就是null

查了一下后面发现是容器没有启动,单纯的测试是无法注入的.要在测试类上加上

@RunWith(SpringRunner.class)
@SpringBootTest

填坑之路!Srpingboot+Redis redisTemplate 做测试时候报空指针异常(注入为NULL)_第1张图片

这样子启动的话是启动spring容器来执行测试

 填坑之路!Srpingboot+Redis redisTemplate 做测试时候报空指针异常(注入为NULL)_第2张图片

加上后就会启动Spring ,这算是一个小小的坑。

 

此外,如果Value设置的是Object,使用@AutoWired会报错,需要使用@Resource,这两个注解的区别在前者是根据类型后者
是根据名字,具体区别自行查资料。

@Resource
private RedisTemplate redisTemplate;

此外,还要给类实现 Serializable 否则会序列化失败。

org.springframework.data.redis.serializer.SerializationException: Cannot serialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.dazhi.uid.modules.user.entity.UserEntity]

 

 

 

 

 

 

 

你可能感兴趣的:(Bug)