SpringBoot集成
Redis
报
non
null
key
required
(已解决)
注意是不是给的
key
值或传过来的值是不是空的,如果是空的就会报这个错
接下来将流程走下去:
1、创建SpringBoot项目,将必要的包创建好
2、创建application.yml进行相关配置
server:
port: 8080
servlet:
context-path: /
redis
#mybatis配置
mybatis-plus:
configuration:
map-un
redis
: encode ({ bulk_string , << " test " >>).
% array
redis
: encode ([ 1 , 2 , 3 ,<< " test " >>, { bulk_string , << " test " >>}]).
% error
redis
: encode ({ error , << " my message " >>}).
使用
redis
:
类似与上面的代码,如果
key
为空的时候,就会报“
non
null
key
required
”异常
3、解决方案:在使用
Redis
的
key
值以前,先做判断。如下图所示
String
key
= student.getID();
if (
key
.
@Around("@annotation(com.vcloud.wsi.common.CardResetDetect)")
public Object doAround(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
MethodSignature signature = (MethodSignature) proceedingJoinPoint.getSignature();
CardResetDetect annot
前端有调整,修复问题,提交前端代码后,后端没有提交任何代码和操作,仅重启一下服务,原有
Redis
Util报错,导致后端和
Redis
有关服务全部不可用,报错信息大致如下:
java.lang.IllegalArgumentException:
non
null
hash
key
required
at org.springframework.util.Assert.not
Null
(Assert.java:115)
根据不同的get或者是set方法报错不同,但是可以确定时
redis
问题,不过暂时没有解决
这个一般是
Redis
返回的错误,就是代码里面保存
redis
数据时空值造成的,比如下面:
redis
Template.opsForValue().set(user.getUserId(),s.getOrgId());
若user.getUserId()是空时,也就是
key
值是空时,就会报上面的错。
这个错误通常是由于在Vue中使用v-for指令迭代列表时,没有给每个列表项提供唯一的键(
key
)属性所引起的。通过为每个循环项提供一个唯一键属性,你就可以解决“
non
-
null
key
required
”的错误,并确保Vue能够准确地追踪和更新列表项。解决方案:为了解决“
non
-
null
key
required
”的错误,你需要在使用v-for指令迭代列表时,为每个循环项提供一个唯一的键属性。2.2 使用索引作为键:如果你的数据源没有唯一标识符,你可以使用循环项在列表中的索引作为键。
刚开始是提示(错误:cannot find local variable 'e')然后我把这个提示直接“-”删了 然后就提示错误:(java.lang.IllegalArgumentException:
non
null
key
required
)
通过一步步查看整个执行过程,最后发现是因为返回值的方法里
key
为空的原因
方法set...