0

我想知道如何制作一个包含用户填写到配置文件中的所有配置设置的对象。配置文件是给程序的唯一参数。我想解析这个配置文件一次并检查键值对。这个对象必须在所有其他对象中都是已知的。

现在我有一个只有静态方法的配置对象,但首先必须调用 parseConfigurationFile 方法。我希望在此类的某种构造函数中使用它。静态构造函数不能有参数(这是逻辑,因为您不创建对象)。

是否有可能在另一个对象中获得赋予程序的第一个参数?还是我的配置对象设计错误?或者这是我的问题的最佳解决方案?

也许另一种解决方案是记住该对象的第一个方法调用,当第一次调用时,在主类中请求配置文件并解析参数然后......

哪个选项将是我的问题的最佳解决方案?

4

2 回答 2

0

通常这是由.propertiesjava 中的文件完成的:How to read Properties File in Java

于 2013-03-15T10:19:14.620 回答
0

在我看来,您想要一个ConfigurationManager. 将ConfigurationManager作为程序初始化的一部分进行实例化(可能在main()方法中)

该实例将被传递给需要它的每个组件。当每个组件调用一个方法manager.getConfiguration()时,该方法本身会检查配置是否已加载,并在需要时加载它(即它是第一次初始化吗?)

我不会做任何静态的。我宁愿有一个类的实例。这使得管理生命周期等变得更加容易。请注意,在第一次调用时读取配置的要求被绑定(封装)在管理器中,您的客户(那些使用管理器的人)不必担心这一点。

请注意,以上内容并不担心您如何读取该配置(使用属性文件,使用 Apache Commons 配置等)

于 2013-03-15T10:19:29.347 回答