【问题标题】:Spring namespace handler to create multiple beans用于创建多个 bean 的 Spring 命名空间处理程序
【发布时间】:2011-08-10 21:39:02
【问题描述】:

我想创建一个可以创建多个 bean 的命名空间处理程序。我一直在这里阅读文档和示例代码:http://static.springsource.org/spring/docs/2.0.x/reference/extensible-xml.html

但这仅描述了将一个 bean 绑定到一个自定义标签。我想要更像这样的东西:

<myns:drag-in-my-library-beans handler="appHandler" />

这导致从库代码中创建 4 个 bean,其中一些需要使用 appHandler。这可能吗?我认为 spring 对这样的标签所做的典型事情是:

<context:annotation-driven />

因此,深入了解该标签在内部的工作方式可能会有所帮助。

【问题讨论】:

  • 您的文档参考已经过时了。 Spring 2.0.x 已经很老了。较新的文档可能会更好。
  • 我查看了 3.x,颜色已经改变,但没有太大变化。

标签: java spring


【解决方案1】:

你一定错过了这一行:“BeanDefinition parse(Element, ParserContext) - 当 Spring 遇到顶级元素(不嵌套在 bean 定义或不同的命名空间内)时调用。此方法可以注册 bean 定义本身和/或者返回一个 bean 定义。”

“注册 bean 定义本身”将允许您通过解析单个元素来创建任意数量的 bean。详情请参阅parse() javadoc

【讨论】:

    猜你喜欢
    • 2014-11-10
    • 2012-04-27
    • 2013-06-05
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    • 2019-10-22
    • 2013-02-25
    相关资源
    最近更新 更多