在java中将属性文件*中的属性用作*静态最终变量
如何使用属性文件在应用程序中存储全局变量,同时使用公共静态最终变量将它们注入应用程序 看看,我希望找到一种方法,可以将静态最终变量从属性文件注入到应用程序中。我感到失望,但最终找到了一种方法,我可以吃我的蛋糕,也可以吃它在java中将属性文件*中的属性用作*静态最终变量,java,properties,code-injection,Java,Properties,Code Injection,如何使用属性文件在应用程序中存储全局变量,同时使用公共静态最终变量将它们注入应用程序 看看,我希望找到一种方法,可以将静态最终变量从属性文件注入到应用程序中。我感到失望,但最终找到了一种方法,我可以吃我的蛋糕,也可以吃它 我在下面发布此解决方案是为了将其添加到SO…的概要中。我的解决方案涉及全局变量()的概念, 所以,如果你不是假装的,那就继续读下去 我相信,尽管我们都想追随函数式编程的狂热 从我们的函数中删除所有“拉式”依赖的概念,有一些事实是 需要绝对的基础,因此需要一些全局变量形式的真理来
我在下面发布此解决方案是为了将其添加到SO…的概要中。我的解决方案涉及全局变量()的概念, 所以,如果你不是假装的,那就继续读下去 我相信,尽管我们都想追随函数式编程的狂热 从我们的函数中删除所有“拉式”依赖的概念,有一些事实是 需要绝对的基础,因此需要一些全局变量形式的真理来源 在运行时中,应用程序实际上是有用的。但我不想发动一场火焰战 解决方案
“com.example.myapp.core.configuration”
可能表示配置
核心模块中的文件,物理url为jar:file:C:/jars/myapp.ear/core.jar/com/example/myapp/core/configuration.properties
。
将此basename设置为静态最终变量:
public static final String CORE_CONFIGURATION_BASENAME = "com.example.myapp.core.configuration";
public static final String DOMAIN_PACKAGE; //we leave it uninitialized on purpose.
static {
ResourceBundle bundle = PropertyResourceBundle(CORE_CONFIGURATION_BASENAME);
...
}
package com.example.myapp.core.util;
import java.util.PropertyResourceBundle;
import java.util.ResourceBundle;
public class Globals {
public static final String CORE_CONFIGURATION_BASENAME = "com.example.myapp.core.configuration";
private static final String DOMAIN_PACKAGE_KEY = "myapp.domain.package.name";
public static final String DOMAIN_PACKAGE; //we leave it uninitialized on purpose.
static {
ResourceBundle bundle = PropertyResourceBundle(CORE_CONFIGURATION_BASENAME);
DOMAIN_PACKAGE = bundle.getString(DOMAIN_PACKAGE_KEY);
}
}
请先为您的问题添加更多详细信息。不要只链接其他问题。谢谢,我已将此帖子编辑为更具问题性:)
static {
ResourceBundle bundle = PropertyResourceBundle(CORE_CONFIGURATION_BASENAME);
DOMAIN_PACKAGE = bundle.getString(DOMAIN_PACKAGE_KEY);
}
package com.example.myapp.core.util;
import java.util.PropertyResourceBundle;
import java.util.ResourceBundle;
public class Globals {
public static final String CORE_CONFIGURATION_BASENAME = "com.example.myapp.core.configuration";
private static final String DOMAIN_PACKAGE_KEY = "myapp.domain.package.name";
public static final String DOMAIN_PACKAGE; //we leave it uninitialized on purpose.
static {
ResourceBundle bundle = PropertyResourceBundle(CORE_CONFIGURATION_BASENAME);
DOMAIN_PACKAGE = bundle.getString(DOMAIN_PACKAGE_KEY);
}
}