问题描述:
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();
}
@Override
protected Resource[] getConfigResources() {
return this.configResources;
}
@Override
public void loadBeanDefinitions(XmlBeanDefinitionReader reader) throws BeansException, IOException {
reader.setValidationMode(XmlBeanDefinitionReader.VALIDATION_XSD);
super.loadBeanDefinitions(reader);
}