如何在Spring 2.5中从字符串加载应用程序上下文?

时间:2013-08-26 09:13:29

标签: java spring applicationcontext

正如标题所说,我想从String中加载一些bean。 This approach only works in Spring 3因为版本2.5中GenericXmlApplicationContext不可用。

2 个答案:

答案 0 :(得分:0)

我自己没有测试过,但according to the API documentation,您可以轻松扩展AbstractXmlApplicationContext并实现getConfigResources()方法。 您可以使用org.springframework.core.io.ByteArrayResource作为XML字符串的占位符。

答案 1 :(得分:0)

使用概述here的方法。通过一个额外的步骤,将DefaultListableBeanFactory传递给GenericApplicationContext(这个从Spring 1.1开始就已存在,而GenericXmlApplicationContext基本上是一个便利类,与该博客文章或多或少相同)。 / p>

所以这样的事情应该有用

String content = ...
GenericApplicationContext ctx = new GenericApplicationContext();
XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(ctx);
reader.loadBeanDefinitions(new ByteArrayResource(content.getBytes())); 
ctx.refresh();

ApplicationContext现在应该可以使用了。

相关问题