【问题标题】:Skip Spring placeholder substitution跳过 Spring 占位符替换
【发布时间】:2018-07-27 09:39:12
【问题描述】:

我在我的应用程序中使用 Spring 属性占位符。我的一个属性值包含 Spring 解释为占位符的东西,但我不想要它:

@Value("${propertyName}")
private String property;

我的属性定义明确:

propertyName=Welcome ${name}

不出意外我得到一个错误:

无法解析值“Welcome ${name}”中的占位符“name”

propertyName 是我想自己解释的东西,所以我不希望 ${name} 被 Spring 解析。这可能吗?

【问题讨论】:

    标签: java spring


    【解决方案1】:

    在这种情况下,您需要转义美元 ($)。所以那个 spring 不会把它当作一个属性。

    propertyName=Welcome #{'$'}{name}
    

    【讨论】:

      【解决方案2】:

      您可以创建自己的PropertySourcesPlaceholderConfigurer bean 并将ignoreUnresolvablePlaceholders 设置为true,这应该可以。但请记住,这将影响该上下文中的所有占位符。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-04-08
        • 2017-09-11
        • 2013-01-24
        • 1970-01-01
        • 1970-01-01
        • 2020-03-18
        • 2012-12-09
        相关资源
        最近更新 更多