【问题标题】:Listing the resolved properties in Spring列出 Spring 中已解析的属性
【发布时间】:2012-04-18 08:50:37
【问题描述】:

我的 spring xml 文件中有多个属性文件源,它们有不同的顺序值,有些是可选的。

  • application.properties - 在类路径中,保存默认(备用)属性(最低优先级)
  • [HOSTNAME].properties - 在类路径中,包含特定于该主机名的属性(更高优先级)
  • 按 jndi 中的值加载的属性文件 - 通过 jndi 指定的位置,最高优先级。

换句话说,我可以用 .properties 中的属性覆盖 application.properties 中设置的默认属性,并通过 jndi 查找位置的属性文件依次覆盖这些值。

然而,我想要的是让 spring 以某种方式为我提供所有属性的已解析值的列表。有人知道我该怎么做吗?

获取特定属性的值对我来说很容易,但我真正需要的是所有已解析属性的列表。

【问题讨论】:

标签: java spring


【解决方案1】:

我有两个建议:

  1. 您可以使用方法processProperties 覆盖类PropertyPlaceholderConfigurer 以填充所有已解析的属性。列出了一个示例here
  2. 由于PropertyPlaceholderConfigurer实现了Spring的Ordered接口,可以有多个属性占位符;然后,按照应用程序中应有的顺序为它们分配order。最后,已经扩展了该类,您将可以按应加载的顺序访问所有已解析的属性。

【讨论】:

    猜你喜欢
    • 2018-12-18
    • 1970-01-01
    • 2018-01-24
    • 1970-01-01
    • 2015-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    相关资源
    最近更新 更多