org.springframework.expression.spel.SpelEvaluationException:EL1007E:(pos 0):在null上找不到字段或属性'orderId'
orderId
是我的订单中的一个属性Vo
如何在我的应用程序中使用Spring Spring Expression Language(SpEL)
方法签名
@Cacheable(value = "customerId", key = "#orderVO.orderId" )
答案 0 :(得分:0)
异常本身解释了参数对象 orderVO 为空。 而且很明显,没有null对象的属性。据我所知,你无法解决这个问题。
在调用方法之前,我会确保我的orderVO不为null。
PS:此错误与Redis,SpEL或Spring配置无关。
编辑:为了简单解释任何缓存可以被视为HashMap,现在想象一下当spring尝试缓存你的对象时,它需要一个键来放置你的返回对象。但是当你的orderVO为null时,不能获得orderId,因此你的对象不能放入缓存(不能生成hashkey等)。