我选择采用属性文件来自定义某些设置。我使用以下代码在一个类中使Properties对象可用
Properties defaultProps = new Properties();
try {
FileInputStream in = new FileInputStream("custom.properties");
defaultProps.load(in);
in.close();
} catch (Exception e) {
e.printStackTrace();
}
我是否必须将其添加到每个班级?可能不是因为那时每个类都会为此文件打开一个流。但是我不确定如何正确处理。我应该建立一个类MyProperties
并在需要属性的任何类中实例化它吗?
提前致谢!
初始化之后defaultProps
,您可以将其内容提供给应用程序中的其他对象,例如通过公共静态访问器方法,例如:
public class Config {
private static Properties defaultProps = new Properties();
static {
try {
FileInputStream in = new FileInputStream("custom.properties");
defaultProps.load(in);
in.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static String getProperty(String key) {
return defaultProps.getProperty(key);
}
}
这是最简单的方法,但是它会创建一个额外的依赖项,从而使单元测试更加困难(除非您提供了一种Config
为单元测试设置模拟属性对象的方法)。
一种替代方法是向defaultProps
需要它的每个对象注入(或从中获取单个配置值)。但是,这可能意味着如果您的调用层次结构很深,则需要向许多方法中添加额外的参数。
问题内容: 是否有可能使用Java Reflection打印出父类的属性。 问题答案: 是的,您可以执行以下操作:
问题内容: 我想将一个对象添加到Global范围,并且为了构造它,我需要将其传递到文件的路径。我不想在源代码中对文件路径进行硬编码,因此我想从application.conf中获取该路径。 问题是我不知道如何从java类访问这些属性。我尝试了这个: 但是它以 NullPointerException 结尾。 假设我可以使用一个全局Configuration实例,这是我错了吗?谢谢。 问题答案: 尝
我正在使用和,在属性映射期间我遇到了这个错误,我该如何修复它? 她的是我的 这里有一个Screenshottenter图像描述
我有一个足球桌,我试图按赢得的比赛排序。 不知什么原因,我无法把桌子整理好。它只是停留在未排序的顺序中。我认为这与collection.sort位置的sortbyvalues函数有关。 你知道如何使用类中的won值对HashMap进行排序吗? 谢谢 感谢@Justin和@Falsarella。
LineSeries['areaStyle']的类型是AreaStyle | undefined 报错:类型“AreaStyle | undefined”上不存在属性“color”。 如何通过 LineSeries使用color属性的类型呢?
问题内容: .fadeOut()方法可对匹配元素的不透明度进行动画处理。一旦不透明度达到0,显示样式属性将设置为none,因此该元素不再影响页面的布局,对fadeIn()相同。 我的问题是,他们是否可以使用可见性属性,以便它们的元素占据页面布局中的空间,而不仅仅是可见? 问题答案: 使用jQuery的fadeTo(),然后通过回调设置可见性。例: