Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 逻辑运算符在SpEL中未按预期工作_Java_Spring_Spring El - Fatal编程技术网

Java 逻辑运算符在SpEL中未按预期工作

Java 逻辑运算符在SpEL中未按预期工作,java,spring,spring-el,Java,Spring,Spring El,我有一个用例,其中我有两个布尔属性,根据它们我需要派生实例变量的值。下面是代码片段: @Value("${propFlag1:false}") private Boolean flag1; @Value("${propFlag2:false}") private Boolean flag2; @Value("${propFlag2:false && propFlag1:false}") private Boolean flag3; @Value("${propFlag1:f

我有一个用例,其中我有两个布尔属性,根据它们我需要派生实例变量的值。下面是代码片段:

@Value("${propFlag1:false}")
private Boolean flag1;

@Value("${propFlag2:false}")
private Boolean flag2;

@Value("${propFlag2:false && propFlag1:false}")
private Boolean flag3;

@Value("${propFlag1:false && propFlag2:false}")
private Boolean flag4;
这里,
propFlag1
propFlag2
是属性文件中的标志,分别具有值
true
false

对于
flag1
flag2
正确注入值,但是对于
flag3
flag4
,注入的值分别为
false
true
,而不是
false

因此,当我尝试使用
&&
时,它不是对两个值求和,而是注入第一个变量本身的值。我做错了什么

PS:我是SpEL的新手,根据,这应该可以:

@Value("#{${propFlag2:false} and ${propFlag1:false}}")
private Boolean flag3;

@Value("#{${propFlag1:false} and ${propFlag2:false}}")
private Boolean flag4;
据认为,这应该是可行的:

@Value("#{${propFlag2:false} and ${propFlag1:false}}")
private Boolean flag3;

@Value("#{${propFlag1:false} and ${propFlag2:false}}")
private Boolean flag4;

“${propFlag1:false}&&${propFlag2:false}”
将生成类似于
“true&&false”
的文本<代码>“${propFlag1&&propFlag2}”看起来最好。不确定。它给我错误,
无法自动连接字段
,我可以尝试其他选项吗?我也尝试过使用
,但运气不好。
“${propFlag1:false}&${propFlag2:false}”
将生成类似
“true&&false”
的文本<代码>“${propFlag1&&propFlag2}”看起来最好。不确定。它给我错误,
无法自动连接字段
,我可以尝试其他选项吗?我也试过使用
,运气不好。对我有用!谢谢,为我工作!谢谢