当前位置: 首页 > 面试题库 >

如何在文件系统上的文件中使用属性占位符

黄景胜
2023-03-14
问题内容

我们曾经有一种从类路径上的文件加载属性的方法:

<context:property-placeholder location="classpath:myConfigFile.properties" />

而且效果很好。但是现在我们要从不在类路径中的系统上的特定文件加载属性。我们希望能够动态加载文件,因此我们使用Java环境变量来填充它。我将在下面给出一个简单的示例:

在Java中:

  System.setProperty("my.prop.file", "/path/to/myConfigFile.properties");

在Spring XML中:

<context:property-placeholder location="${my.prop.file}" />

感谢Luciano的一个想法,我也尝试过这种方法:

<context:property-placeholder properties-ref="prop" />

<util:properties id="prop" location="reso"/>

<bean id="reso" class="org.springframework.core.io.FileSystemResource">
    <constructor-arg index="0" value="${my.prop.file}" />
</bean>

我尝试过的一切都失败了。无论我将my.prop.file设置为什么。最热门的歌曲包括:

<context:property-placeholder location="/path/to/myConfigFile.properties" />
(ClassNotFoundException: .path.to.myConfigFile.properties)

<context:property-placeholder location="file:/path/to/myConfigFile.properties" />
(ClassNotFoundException: file:.path.to.myConfigFile.properties)

<context:property-placeholder location="file:///path/to/myConfigFile.properties" />
(ClassNotFoundException: file:...path.to.myConfigFile.properties)

如何将属性占位符与文件系统上而不是类路径上的位置一起使用?我们正在使用Spring 3.0.5。

事实证明,运行载入弹簧文件的Java程序的脚本存在问题。感谢您的帮助。我将要求删除此问题,因为原始代码毕竟可以工作。谢谢您的帮助。


问题答案:

那这样呢

<context:property-placeholder properties-ref="prop" />

<util:properties id="prop" location="reso"/>

<bean id="reso" class="org.springframework.core.io.FileSystemResource">
    <constructor-arg index="0" value="/yourpathandfile" />
</bean>


 类似资料:
  • 我有一个SpringBoot应用程序。对于Thymeleaf,对于此属性文件: 在控制器上: 在模板上: 但我在浏览器上看到:

  • 我正在使用Java和spring boot。我想知道如何将Property占位符添加到文件。我找到了一些清晰的示例,但我不确定Property占位符在哪里实例化。它是否在系统env变量、文件等中。。? Bootstrap.yml 用户正在使用属性占位符,但用户在哪里声明了它们?这个 .yml 从哪里读取值?(与上述问题相同)是否有解释连接的文档? 此Web应用程序将使用“cf推送”推送到云代工厂,

  • 问题内容: 我正在创建一个在GlassFish中运行的Web服务,并且我想要一些自定义属性。为此,我正在使用该类。我使用的代码是: 但是,如何在配置目录中获取-file? 我不确定我的类路径,因为它是由NetBeans和GlassFish管理的。我假设我的-file在部署时已添加到类路径中… 我已经添加了自己的解决方案,但是如果有人可以提出更好的解决方案,那将是非常受欢迎的… 问题答案: 有效的解

  • 问题内容: 我有一个主类,期望使用-D选项传递某些属性。我可以通过将其作为VM选项发送来在IDE中访问它。 我使用Maven并在尝试以下操作时将此应用程序打包到jar文件中: 要么 没有获取环境系统属性。 关于发生了什么的任何指示? 问题答案: 在。之前传递参数。如果在jar文件之后传递它们,它们将被解释为命令行参数并传递给in 。喜欢,

  • 问题内容: 我为该标题表示歉意。我找不到更好的方法来解释这种情况。 我使用URL http://www.exampledepot.com/egs/java.util/Props.html中所述的Property类加载属性文件。 我的问题是我可以在该属性文件中使用属性吗? 例: test.properties 其他语法有可能吗? 谢谢 问题答案: 以前从未见过。您当然 可以 制作自己的预处理器。只要

  • 问题内容: 配置 : Spring 2.5,Junit 4,Log4j 从系统属性中指定log4j文件位置 在运行时,使用-D java选项设置系统属性。一切都很好。 问题/我需要什么: 在单元测试时,未设置系统属性,并且文件位置未解析。 App使用Spring,想简单地配置Spring以 设置 系统属性。 更多信息: 要求仅用于配置。无法引入新的Java代码或IDE中的条目。理想情况下,Spri