我在Spring bean中有以下内容:
@Value("${myValue}")
private String value;
Run Code Online (Sandbox Code Playgroud)
正确注入该值.但是,变量必须是可选的,它作为命令行参数传递(然后使用SimpleCommandLinePropertySource将其添加到Spring上下文中),并且此参数不会始终存在.
为了提供默认值,我尝试了以下两种方法:
@Value("${myValue:}")
@Value("${myValue:DEFAULT}")
Run Code Online (Sandbox Code Playgroud)
但是在每种情况下,冒号后的默认参数即使存在实际值也会被注入 - 这会覆盖Spring应该注入的内容.
指定不需要@Value的正确方法是什么?
谢谢