gpt4 book ai didi

java - SpEL 函数更改字符串

转载 作者:行者123 更新时间:2023-12-01 18:08:21 28 4
gpt4 key购买 nike

我试图从属性中获取一个字符串,对其运行操作,然后将其存储为带有 @Value 注释的变量。不幸的是,当我使用 SpEL 所需的 #{'${variable}'} 语法时,字符串发生了变化。如果我有两个双引号 (""),它们将更改为单个双引号 ("),这会阻止我反序列化字符串。如何防止 Spring删除第二个引号?

myProperties.properties
myValue={"myWorkingKey": "Hi!", "myNonWorkingKey": ""}


MyClass.java
public class MyClass {

@Value("#{'${myValue}'}")
public void printWithSpEL(String withSpEL){
System.out.println(withSpEL);
}

@Value("${myValue}")
public void printWithOut(String without){
System.out.println(without);
}
}

启动后结果:

{"myWorkingKey": "Hi!", "myNonWorkingKey": "}
{"myWorkingKey": "Hi!", "myNonWorkingKey": ""}

最佳答案

为什么这么简单的值需要使用 SpEL?属性占位符就足够了。

或者这只是一个基于更复杂内容的示例。

使用 SpEL,您需要三重引号:

myValue={"myWorkingKey": "Hi!", "myNonWorkingKey": """}

关于java - SpEL 函数更改字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60514858/

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