所以我正在为EAR构建实用程序JAR,并且我有一个类,它提供需要XML字符串的静态方法。我在我的JAR中嵌入了一个XML文件作为资源,我在类初始化时在静态块中读取它:
static{
try {
base = IOUtils.toString(CartSessionFactory.class.getResourceAsStream("/createcartTemplate.xml"));
if(base==null){
throw new Exception("createcartTemplate.xml not found as a resource");
}
//check the file correctness
//[...]
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
一位编码员告诉我他对这个设计感到震惊,但无法清楚地解释原因(但建议改为使用Singleton)。它似乎工作。是不好的设计,为什么?
答案 0 :(得分:0)
我会把这个依赖注入到类中,而不是硬编码到它中。 测试此模块并不像将资源注入其中那样容易。