正如标题所说,我想从String中加载一些bean。
This approach only works in Spring 3因为版本2.5中GenericXmlApplicationContext
不可用。
答案 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
现在应该可以使用了。