另一个类的getResource()

时间:2009-08-06 15:57:10

标签: java getresource

我有一个A类获取配置文件:

this.getClass().getResource("cfgFile");

现在我创建了一个需要A的cfgFile的新B类。现在我正在做:

A.class.getResource("cfgFile");

但感觉不对。

我愿意创建一个新类,比如ABCfg,并将cfgFile添加到它的资源路径中,但我不确定这是最好的方法。

最好的方法是什么?

感谢阅读!

2 个答案:

答案 0 :(得分:3)

您可以通过将getClass().getResource()包装在A上的新静态方法中来封装此内容。这样,您可以灵活地在将来更改实现,而不会影响调用代码。

如果A对提供配置信息有其他责任,那么最好为此创建一个新类。但是,封装getResource()电话仍然值得一试。

答案 1 :(得分:1)

您应该创建某种Configuration类或提供另一种获取配置数据的方法。 B不应该依赖于知道A的配置,或者甚至需要A的配置。我建议你研究一下Dependency Injection

例如,B可以使用它需要完成工作的配置构建,而不是让B负责知道在哪里找到它的配置。后一种方法导致紧密耦合的代码变得越来越难以测试。