/** * Loads the bean definitions via an XmlBeanDefinitionReader. * @see org.springframework.beans.factory.xml.XmlBeanDefinitionReader * @see #initBeanDefinitionReader * @see #loadBeanDefinitions */ @Override protected void loadBeanDefinitions(DefaultListableBeanFactory beanFactory) throws BeansException, IOException { // Create a new XmlBeanDefinitionReader for the given BeanFactory. XmlBeanDefinitionReader beanDefinitionReader = new XmlBeanDefinitionReader(beanFactory); // Configure the bean definition reader with this context's // resource loading environment. beanDefinitionReader.setEnvironment(getEnvironment()); beanDefinitionReader.setResourceLoader(this); beanDefinitionReader.setEntityResolver(new ResourceEntityResolver(this)); // Allow a subclass to provide custom initialization of the reader, // then proceed with actually loading the bean definitions. initBeanDefinitionReader(beanDefinitionReader); loadBeanDefinitions(beanDefinitionReader); }
/** * Loads the bean definitions via an XmlBeanDefinitionReader. * @see org.springframework.beans.factory.xml.XmlBeanDefinitionReader * @see #initBeanDefinitionReader * @see #loadBeanDefinitions */ @Override protected void loadBeanDefinitions(DefaultListableBeanFactory beanFactory) throws BeansException, IOException { // Create a new XmlBeanDefinitionReader for the given BeanFactory. XmlBeanDefinitionReader beanDefinitionReader = new XmlBeanDefinitionReader(beanFactory); // Configure the bean definition reader with this context's // resource loading environment. beanDefinitionReader.setEnvironment(this.getEnvironment()); beanDefinitionReader.setResourceLoader(this); beanDefinitionReader.setEntityResolver(new ResourceEntityResolver(this)); // Allow a subclass to provide custom initialization of the reader, // then proceed with actually loading the bean definitions. initBeanDefinitionReader(beanDefinitionReader); loadBeanDefinitions(beanDefinitionReader); }
/** * Loads the bean definitions via an XmlBeanDefinitionReader. * @see org.springframework.beans.factory.xml.XmlBeanDefinitionReader * @see #initBeanDefinitionReader * @see #loadBeanDefinitions */ @Override protected void loadBeanDefinitions(DefaultListableBeanFactory beanFactory) throws BeansException, IOException { // Create a new XmlBeanDefinitionReader for the given BeanFactory. XmlBeanDefinitionReader beanDefinitionReader = new XmlBeanDefinitionReader(beanFactory); // 创建XmlBeanDefinitionReader // Configure the bean definition reader with this context's // resource loading environment. beanDefinitionReader.setEnvironment(this.getEnvironment()); beanDefinitionReader.setResourceLoader(this); beanDefinitionReader.setEntityResolver(new ResourceEntityResolver(this)); // Allow a subclass to provide custom initialization of the reader, // then proceed with actually loading the bean definitions. initBeanDefinitionReader(beanDefinitionReader); loadBeanDefinitions(beanDefinitionReader); // 使用XmlBeanDefinitionReader加载BeanDefinition }
/** * Initialize the view bean factory from the XML file. * Synchronized because of access by parallel threads. * @throws BeansException in case of initialization errors */ protected synchronized BeanFactory initFactory() throws BeansException { if (this.cachedFactory != null) { return this.cachedFactory; } Resource actualLocation = this.location; if (actualLocation == null) { actualLocation = getApplicationContext().getResource(DEFAULT_LOCATION); } // Create child ApplicationContext for views. GenericWebApplicationContext factory = new GenericWebApplicationContext(); factory.setParent(getApplicationContext()); factory.setServletContext(getServletContext()); // Load XML resource with context-aware entity resolver. XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(factory); reader.setEnvironment(getApplicationContext().getEnvironment()); reader.setEntityResolver(new ResourceEntityResolver(getApplicationContext())); reader.loadBeanDefinitions(actualLocation); factory.refresh(); if (isCache()) { this.cachedFactory = factory; } return factory; }
/** * Creates the application context. * * @param repo the component repository, not null * @return the Spring application context, not null */ protected GenericApplicationContext createApplicationContext(ComponentRepository repo) { Resource springFile = getSpringFile(); try { repo.getLogger().logDebug(" Spring file: " + springFile.getURI()); } catch (Exception ex) { // ignore } DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory(); GenericApplicationContext appContext = new GenericApplicationContext(beanFactory); PropertyPlaceholderConfigurer properties = new PropertyPlaceholderConfigurer(); properties.setLocation(getPropertiesFile()); XmlBeanDefinitionReader beanDefinitionReader = new XmlBeanDefinitionReader(beanFactory); beanDefinitionReader.setValidating(true); beanDefinitionReader.setResourceLoader(appContext); beanDefinitionReader.setEntityResolver(new ResourceEntityResolver(appContext)); beanDefinitionReader.loadBeanDefinitions(springFile); appContext.getBeanFactory().registerSingleton("injectedProperties", properties); appContext.getBeanFactory().registerSingleton("componentRepository", repo); appContext.refresh(); return appContext; }
protected void loadBeanDefinitions(ConfigurableListableBeanFactory beanFactory) throws IOException { // Create a new XmlBeanDefinitionReader for the given BeanFactory. XmlBeanDefinitionReader beanDefinitionReader = new XmlBeanDefinitionReader((BeanDefinitionRegistry)beanFactory); beanDefinitionReader.setBeanClassLoader(Thread.currentThread().getContextClassLoader()); beanDefinitionReader.setResourceLoader(this); beanDefinitionReader.setEntityResolver(new ResourceEntityResolver(this)); if (configLocations != null) { beanDefinitionReader.loadBeanDefinitions(configLocations); } }
private BeanDefinitionRegistry getBeanFactory(String location) { XmlBeanDefinitionReader beanDefinitionReader = new XmlBeanDefinitionReader(new SimpleBeanDefinitionRegistry()); beanDefinitionReader.setResourceLoader(context); beanDefinitionReader.setEntityResolver(new ResourceEntityResolver(context)); beanDefinitionReader.loadBeanDefinitions(location); return beanDefinitionReader.getBeanFactory(); }
public XmlNamedTemplateResolver(ResourceLoader resourceLoader) { this.entityResolver = new ResourceEntityResolver(resourceLoader); }
protected XmlBeanDefinitionReader createXmlReader (GenericWebApplicationContext context) { XmlBeanDefinitionReader result = new XmlBeanDefinitionReader (context); result.setEntityResolver (new ResourceEntityResolver (getApplicationContext ())); result.setEnvironment (getApplicationContext ().getEnvironment ()); return result; }