0

正如标题所说,我想从字符串中加载一些 bean。 此方法仅适用于 Spring 3,因为GenericXmlApplicationContext在 2.5 版本中不可用。

4

2 回答 2

0

我自己没有测试过,但是根据 API 文档,您可以轻松扩展 AbstractXmlApplicationContext 并实现该getConfigResources()方法。您可以使用org.springframework.core.io.ByteArrayResource来充当 XML 字符串的占位符。

于 2013-08-26T09:33:53.537 回答
0

使用此处列出的方法。通过一个额外的步骤,将 传递给DefaultListableBeanFactorya GenericApplicationContext(这个从 Spring 1.1 开始就已经存在了,而 GenericXmlApplicationContext 基本上是一个便利类,与该博客文章中的内容或多或少相同)。

所以这样的事情应该有效

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

现在ApplicationContext应该可以使用了。

于 2013-08-26T09:36:49.013 回答