欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring:基于数据流创建ApplicationContext

程序员文章站 2022-05-16 08:45:07
...

问题描述:

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);
	}