填坑之路!Srpingboot+Redis redisTemplate 做測試時候報空指針異常(注入爲NULL)

今天整合Springboot+redis做測試的時候發現了

stringRedisTemplate報空指針錯誤,原因是注入時候stringRedisTemplate就是null

查了一下後面發現是容器沒有啓動,單純的測試是無法注入的.要在測試類上加上

@RunWith(SpringRunner.class)
@SpringBootTest

這樣子啓動的話是啓動spring容器來執行測試

 

加上後就會啓動Spring ,這算是一個小小的坑。

 

此外,如果Value設置的是Object,使用@AutoWired會報錯,需要使用@Resource,這兩個註解的區別在前者是根據類型後者
是根據名字,具體區別自行查資料。

@Resource
private RedisTemplate<String,Object> 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]

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章