java - Spring SpEL。如何将字段的默认值设置为null

标签 java spring spring-boot

我正在尝试在 Spring Boot 应用程序中设置变量 throw SpEL:

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

data.jndi-name 应来自 application-{profile}.properties。但即使 data.jndi-name 存在,字段 jndiDataSource 也始终为 null。

带有 @Value("${data.jndi-name}") 的代码工作正常,但 jndiDataSource 包含空字符串。

我的问题是如果使用 SpEL 属性不存在,如何将 null 设置为变量。

upd:值来自配置文件特定的属性文件

最佳答案

试试这个:

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

关于java - Spring SpEL。如何将字段的默认值设置为null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51893472/

相关文章:

java - Spring - Autowiring 时出现 NullPointerException

java - Spring Security 总是重定向到登录页面

mysql - jhipster 中基于磁盘持久化的 h2 是什么

java - 如何在 Java 中创建一个没有重复项的简单随机数生成器,并将结果存储在数组中以打印给最终用户?

spring - Flux 为 StepVerifier 返回未排序的数据

spring-boot - Maven 项目使用多个 GitLab 包注册表

java - 分页Spring启动JPA异常:Method has to have one of the following return types

java - 互联网连接不可用时应用程序崩溃

java - Spring HttpMessageNotReadableException

Java 域模型 : categories with specific subcategories