gpt4 book ai didi

java - 使用 boolean 字段的评估上下文进行 Spring 表达式解析

转载 作者:太空宇宙 更新时间:2023-11-04 13:38:18 25 4
gpt4 key购买 nike

我正在使用 spring-expression 来解析类中的值(存在于 jar 中)。在我读取这个值后,我将其设置在目标类中[spring-expression 的典型用例]。但是,jar 中的类中的所有字段值都可以解析,除了 boolean 值。在源类中,它是这样声明的:

boolean isVerified;

//getter
public isVerified() {
return isVerfied;
}

读取该值的 Spring 表达式代码:

Expression sourceExp = parser.parseExpression(<source field string>);
sourceExp.getValue(sourceContext);

这失败了。消息是找不到属性已验证

我的问题是因为 spring 正在寻找 isIsVerified 方法而不是 isVerified 方法?如果不是这个,失败的原因可能是什么?

最佳答案

您没有显示表达式,但 SpEL 在访问 bean 属性时使用 JavaBean 语义。它对所引用 bean 的内部结构一无所知。当它遇到属性请求时...

"x.foo"

它会尝试查找 getter getFoo()(任何返回类型),如果未找到,则在返回 boolean 值时查找 isFoo()

我怀疑您正在尝试使用x.isVerified。不存在这样的 setter/getter ;您需要使用x.verified,或者您可以调用该方法本身x.isVerified()

关于java - 使用 boolean 字段的评估上下文进行 Spring 表达式解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31473020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com