我有一个创建ResourceBundle
的java类:
protected static ResourceBundle bundle = ResourceBundle.getBundle("application");
我有一个 application.properties 文件。因此,我认为该捆绑软件正在尝试打开此 application.properties 。
捆绑程序试图从java类中获取值:
bundle.getString("attachment_path_img")
但是当我进入 application.properties 文件时,我会得到
条目attachment_path_img = <ATTACHMENT_PATH_IMG>
这是什么定义? <ATTACHMENT_PATH_IMG>
的值如何计算?我应该在哪里寻找?
谢谢!
答案 0 :(得分:0)
如果您的 application.properties 包含一行attachment_path_img = <ATTACHMENT_PATH_IMG>
,并且如果bundle.getString("attachment_path_img")
返回<ATTACHMENT_PATH_IMG>
,则一切正常。
如果您不想拥有一个<ATTACHMENT_PATH_IMG>
,而是一个真实值,那么您必须更改 application.properties 。
请注意,ResourceBundle
是针对特定于语言环境的值:
当您的程序需要特定于语言环境的资源(例如String)时,您的程序可以从适合当前用户语言环境的资源包中加载它
-https://docs.oracle.com/javase/7/docs/api/java/util/ResourceBundle.html
通常,应用程序配置由Properties
类(或更强大的实现)读取
答案 1 :(得分:0)
1:您不需要ResourceBundle即可读取普通属性文件。 (http://www.avajava.com/tutorials/lessons/how-do-i-read-a-properties-file.html)ResourceBundle用于多个本地化的属性文件。
2:属性文件中没有内置的占位符机制。它通常是由在Spring等这些文件之上工作的框架引入的。