我有一个生成一些 PDF 发票的类层次结构。基本上所有类都实现了一个接口,该接口具有生成发票所需的所有方法。
问题是需要实例化的具体类是在运行时确定的,因为每个客户端的类名都存储在数据库中。
现在我有这样的东西:
String pdfProcessorClass = "PdfParserXXX";
pdfProcessorClass = pdfProcessorClass.trim();
Invoic2Pdf pdfGenerator;
try {
Class<?> forName = Class.forName(pdfProcessorClass);
pdfGenerator= (Invoic2Pdf) forName.newInstance();
pdfGenerator.init(xXx, yYy);
} catch (Exception e) {
//deal with exception
}
考虑到这些需要动态创建的类本身就是spring bean,是否有可能使用Spring IoC以更优雅的方式实现这一目标?