有没有一种方法可以在Spring属性值中转义SpEL字符“#{”

时间:2019-12-20 22:42:08

标签: spring spring-boot

我正在使用Spring boot,并在我的application.yml中具有以下配置

apiKey: ${API_KEY}

API_KEY是随机生成的,并且包含“#{”(例如“ sksjd#{lsd8”),它表示SpEL表达式的开头 (https://docs.spring.io/spring/docs/4.3.10.RELEASE/spring-framework-reference/html/expressions.html#expressions-beandef)。这会导致spring尝试解释表达式,然后由于没有右括号而失败。

我希望仅按字面意义解释字符串,并且我不想不必重新生成此密钥,并且尝试过:

apiKey: "${API_KEY}"

apiKey: '${API_KEY}'

apiKey: "#{'${API_KEY}'}"

apiKey: '#{"${API_KEY}"}'

更新: 我正在从属库中测试这些更改,结果发现我仍在提取库的主版本,而不是包含更改的本地版本。

apiKey: "#{'${API_KEY}'}"确实有效

1 个答案:

答案 0 :(得分:1)

apiKey: "#{'${API_KEY}'}"确实可以工作,普拉卡什(Prakash)的回答也可以使我意识到为什么看起来好像什么都没做。