Spring:基于数据流创建ApplicationContext
问题描述:
1、Spring的配置文件,以Clob的方式保存在数据库中,可以通过数据流的方式访问。在这种情况下,如何初始化ApplicationContext对象。
2、不允许现将流写入本地临时文件。
?
解决方案:
?
继承AbstractXmlApplicationContext类,代码如下:
public class StreamXmlApplicationContext extends AbstractXmlApplicationContext {private Resource[] configResources = null;public StreamXmlApplicationContext(InputStream configFileStream){super();this.configResources = new Resource[]{new InputStreamResource(configFileStream)} ;this.refresh();}@Overrideprotected Resource[] getConfigResources() {return this.configResources;}@Overridepublic void loadBeanDefinitions(XmlBeanDefinitionReader reader) throws BeansException, IOException {reader.setValidationMode(XmlBeanDefinitionReader.VALIDATION_XSD);super.loadBeanDefinitions(reader);}?