这块主要把上一步的 InputSource 解析成 Document 对象。
接下来进入,这里利用 SAX 解析 XML 得解析后的结果,然后就开始做 Bean 的注册动作;
(所以这块需要了解下如何做文档的解析的,见 附录 1 - 解析 XML 文件)
protected int doLoadBeanDefinitions(InputSource inputSource, Resource resource)throws BeanDefinitionStoreException {try {// SAX文档解析Document doc = doLoadDocument(inputSource, resource);// 注册,返回注册的Bean的数量int count = registerBeanDefinitions(doc, resource);if (logger.isDebugEnabled()) {logger.debug("Loaded " + count + " bean definitions from " + resource);}return count;} catch (BeanDefinitionStoreException ex) {throw ex;} catch (SAXParseException ex) {throw new XmlBeanDefinitionStoreException(resource.getDescription(),"Line " + ex.getLineNumber() + " in XML document from " + resource + " is invalid", ex);}.... 很多异常的抛出}
