Используя Dav's javax.xml.parsers, я должен написать код, подобный этому:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Я проверил исходный код JDK:
public static DocumentBuilderFactory newInstance() {
return FactoryFinder.find(
/* The default property name according to the JAXP spec */
DocumentBuilderFactory.class, // "javax.xml.parsers.DocumentBuilderFactory"
/* The fallback implementation class name */
"com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl");
}
Это странно для меня:
В заводском режиме обычно используется статическая фабрика, затем используйте factory.create для генерации «продукта».Это принцип протокола JAXP, чтобы иметь фабрику?
Пока эта фабрика документов является частью java sdk, почему ей все еще нужно "FactoryFinder.find ()", чтобы найти некоторыеклассы, которые могут генерировать такую фабрику?
Спасибо!