简体   繁体   English

Spring Boot中带@Value的可选环境变量

[英]Optional Environment Variables with @Value in Spring Boot

Using @Value for non-existing environment variable will cause an IllegalArgumentException: Could not resolve placeholder 'ENV_VAR' in string value "${ENV_VAR}". 将@Value用于非现有环境变量将导致IllegalArgumentException:无法解析字符串值“$ {ENV_VAR}”中的占位符'ENV_VAR'。

For example: 例如:

@Autowired
public SomeClass(@Value("{ENV_VAR}") final String value) { }

How can I make this value optional? 如何使此值可选?

Use a default value, and the Optional class (in JDK8). 使用默认值和Optional类(在JDK8中)。

@Autowired
public SomeClass(@Value("{ENV_VAR:#{null}}") final Optional<String> value) {
    value.ifPresent(/* do something */);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM