当前位置: 首页 > 知识库问答 >
问题:

如何将@value定义为可选

高豪
2023-03-14
@Value("${myValue}")
private String value;

正确地注入了值。但是,变量必须是可选的,它作为命令行参数传入(然后使用SimpleCommandLinePropertySource将其添加到Spring上下文中),并且这个参数并不总是存在。

为了提供默认值,我尝试了以下两种方法:

@Value("${myValue:}")
@Value("${myValue:DEFAULT}")

但是在每种情况下,冒号后面的默认参数都被注入,即使存在实际值--这似乎覆盖了Spring应该注入的内容。

共有1个答案

唐腾
2023-03-14

指定@value不是必需的正确方法是什么?

假设'not required'指的是null...

您已经正确地注意到,可以在:字符的右侧提供默认值。您的示例是@value(“${myvalue:default}”)

@Value("${myValue:#{null}}")
 类似资料:
  • 以下操作不起作用。但是如何定义可选的?

  • 问题内容: 我有一个要使用Closure Compiler编译的Node.js项目。我不希望它在浏览器中运行/使用browserify。我主要想要类型检查的实用程序。我最初使用以下命令使编译器正常工作: 其中手动定义的变量和我是从Node.js的一个相当原始的方式使用该功能: 事实证明,这只能通过运气来实现。文件之间没有依赖关系跟踪,因此您可能会遇到以下情况:返回类型,并且编译器会抱怨该类型不存在

  • 我将springboot控制器与@RequestBody一起使用。我有以下json请求正文 我有一个对应的POJO 我有控制器就像 显然它不起作用,因为是请求中的字符串,而它在MyObject中是布尔值。我希望它有一个逻辑,所以如果在请求中,它将在MyObject中转换为布尔值。Spring有什么机制来实现这一点?

  • 我收到了以下JSON: 如何将其转换为JAVA对象?

  • 我正在用Protobuf在golang写一个新的服务。我想在.proto文件中对以下请求JSON建模。 目前存在两个问题: 每个数组元素中的键事先是不知道的,因此我不能在.proto文件中创建消息并重复它。我需要保持它的映射 我无法对json建模,因为它只是一个没有键的数组。每次执行此操作时,都会显示以下错误:解码请求失败:JSON:无法将数组反编入Go值 以下是我的.proto文件: 我尝试过使

  • 我创建了一个简单的JavaMailSender spring启动应用程序(只是为了好玩)。以下是GitHub上代码的参考: https://github.com/carlcorder/mail.sender 我遇到了一个问题,在Email类中,“from”属性为null,即使我用@Value注释它(除此之外,一切工作都很完美)。课程安排如下: 我读过这些帖子,知道问题很可能与此有关。 applic