4

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

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

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

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

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

4

1 回答 1

1

我有两个建议:

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