0

我正在开发严重依赖基于 XML 的配置文件的库。这些文件描述了一个包含变量和对具有不同范围的 java 对象的引用的流程工作流。一个极其简化的伪配置将是:

<config>
    <valueProducer name="thingThatProducesAValue" class="org.com.Blah" method="foo" args="arg1, arg2" scope="application" />
    <var name="v" scope="process" value="${thingThatProducesAValue}" /> 
    <process step="somethingImportant">
        <write value="${v}" to="a_file_somewhere">
        <write value="${v}" to="a_queue">
    </process>
</config>

基本上这个配置定义了: 1 - 将创建一个“org.com.Blah”类的实例,并在应用程序运行时重用它(几乎就像它是一个单例) 2 - 一个名为“v”的变量",当在某处使用时,将填充名为 "thingThatProducesAValue" 2.1 的值生成器的结果 - "v" 的值将在进程 "somethingImportant" 执行期间被评估一次,随后将被重用,直到过程结束。

我正在寻找一个可以以编程方式配置的基于 java 的 IoC 容器,它为范围实体的自定义管理提供某种支持。我看了一下 Spring,但如果不使用它自己的配置文件格式或注释,似乎很难做任何事情。我的要求是创建一个能够以特殊格式读取此 XML 并执行值替换和类/方法调用的引擎,但如果能够完成基本工作并仅在一些已经可用的库之上工作,那就太好了。你有什么建议吗?

4

1 回答 1

0

您可以实现 Spring 的自定义命名空间处理程序

于 2013-05-14T07:20:14.627 回答