首页 > 解决方案 > 弹簧 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:值来自配置文件特定的属性文件

标签: javaspringspring-boot

解决方案


尝试这个:

@Value("${data.jndi-name:@null}")
private String jndiDataSource;

推荐阅读