java - 弹簧 SpEL。如何将null设置为字段的默认值
问题描述
我正在尝试在 spring boot 应用程序中设置变量 throw SpEL:
@Value("${data.jndi-name:#{null}}")
private String jndiDataSource;
data.jndi-name
应该来自 application-{profile}.properties。jndiDataSource
但即使data.jndi-name
存在,字段也始终为空。
@Value("${data.jndi-name}")
工作正常但jndiDataSource
包含空字符串的代码。
我的问题是如果使用 SpEL 不存在属性,如何将 null 设置为变量。
upd:值来自配置文件特定的属性文件
解决方案
尝试这个:
@Value("${data.jndi-name:@null}")
private String jndiDataSource;
推荐阅读
- javascript - 如何通过javascript更改json数据
- javascript - 在 Highcharts JS 中删除行
- python - 如何检查 Mypy `# type:ignore` 注释是否仍然有效和必需?
- php - Woocommerce - 从 get_price_html 获取销售价格
- javascript - 如何在 Cypress 中将元素从 JSON 转换为字符串
- javascript - 我怎样才能让我的按钮与他们的图片相关联
- java - 我的资源文件夹中的文件没有使用 try-with-resources 和 BufferedWriter 写入,为什么?
- git - VSCode 在预提交挂钩失败后重新暂存暂存文件以再次提交
- javascript - 如何验证所选记录数据在两个表中是否不匹配
- postgresql - 将文件名从 bash 命令传递到 postgres 表