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

 

你可能感兴趣的:(spring,context,数据流)