【发布时间】:2018-08-10 19:49:58
【问题描述】:
我需要指定一个可选的 jvm 参数,如下所示:
@PropertySource({ "${config.file:classpath:config-file.properties}" })
但由于第二个“:”,它不起作用。
有人可以帮我吗?
上下文:Spring 3.12。
【问题讨论】:
-
我认为您必须重新考虑您的方法,因为 JVM 参数应该在 JVM 启动之前传递,但是 spring 属性读取意味着已启动应用程序的设置。为什么不使用通过 ApplicationRunner 和 ApplicationArguments 传递的普通 jvm 参数?
-
谢谢亚历克斯。这只是一种情况,可能还有另一种情况。但是,无论如何,使用或属性文件是 Spring 正确应用 @PropertySource 的一个特性,而且,作为一个优点,我们可以使用可选参数,我们可以使用 jvm 参数作为输入。我认为我的方法没有任何问题。我在没有“:”的情况下成功使用它至少 4 年。我所需要的只是一个可选参数,它可以在文本中包含“:”,但我不知道如何做到这一点。 ":" 表示:":" 之后的可选值,用于 jvm 属性解析。
标签: spring property-placeholder