我想知道是否有办法以 Properties 实例的形式从 Spring Environment 中提取属性(例如从 ApplicationContext 中获取)?或者,至少,有没有办法枚举 Spring Environment 中的属性,或者将它们全部作为地图,或者我可以将 [最初未知的] 一组属性转换为 Properties 对象的任何其他方式?
我需要这个才能Context
通过调用org.jclouds.ContextBuilder.newBuilder()
和创建 jclouds .overrides(Properties)
。这个想法是仅通过 .properties 文件配置实际的云提供商,我不想将应用程序逻辑与提供商特定的属性结合起来。
[更新]
要使用的 .properties 文件是使用 配置的<context:property-placeholder>
,它实际上指定了一个路径列表,如下所示:
< context:property-placeholder location=
"classpath:/jdbc.properties,
file:${jboss.server.config.dir}/jdbc.properties,
file:${catalina.home}/conf/jdbc.properties"
ignore-resource-not-found="true"/>
这表明在提到的位置列表中按顺序搜索 .properties 文件。我想实现以下目标:
- 仅在此 XML 定义文件中保留 .properties 文件及其可能位置的列表;
- 允许将 jclouds 相关属性放在XML 中提到的任何.properties 文件中;
- 以 Properties 对象的形式访问由 Spring 解析和加载的属性,以便我能够将其提供给 jclouds
ContextBuilder
。
请让我知道这一切是否可行。先感谢您!
-弗拉德