2011-02-11 47 views
0

我想在spring xml中介绍自定义语法,我的第一个看法是:“http://static.springsource.org/spring/docs/2.0.x/reference/extensible-xml。 HTML”。在春季定制xml

我真的不喜欢这样的事实,它似乎需要DOM解析,并且它似乎并不支持子元素。例如,我想要做的事情,如:

<a:tag1 id="mybean"><a:tag2><a:tag3 /><a:tag3 /></a:tag2><a:tag1> 

,并有弹簧将其转换成线沿线的东西:

<bean id="myclass" class="....tag1"> 
<property name="tag2"> 
    <bean class="....tag2"> 
     <util:list> 
      <bean class="....tag3" /> 
      <bean class="....tag3" /> 
     </util:list> 
    </bean> 
</property> 
</bean> 

我正要完全放弃了这个想法,当我遇到阿帕奇跑xbean项目: xbean。这看起来正是我想要的。

所以我的问题是: 1)philisophical呜呜:为什么不弹簧支持这样的东西开箱?看起来这显然是一个更好的解决方案,通常情况下,弹簧在曲线之前,而不是在曲线之后。

2)有没有办法在xbean ant插件中使用JAXB注释,而不是用所有的xbean注释重新注释我的bean?

3)是否仍在积极维护xbean ant插件?文档声称它使用了一种叫做annogen的东西,并且xbean站点上的文档链接被破坏:annogen

4)这是我想要做什么的正确解决方案,还是有其他可行的替代方案基于我想要完成的事情?

+0

更基本的问题:为什么要引入自己的XML模式?这是相当多的额外工作。 – skaffman 2011-02-12 10:59:39

+0

好吧,它是这样开始的:我使用JAXB和一些注释编写了一个XML模式,这很容易,并且比Spring的相对冗长的xml更简洁地表达了这个概念(更多)。其他人的建议是,如果XML可以在Spring配置文件中直接表达,那么使用我的库会更直观,因为我实际上正在做它的bean创建。最后,如果我自己的spring内部模式结果是很多额外的工作,我不认为这是值得的,我希望有一些类似JAXB的东西,你几乎可以免费获得这些东西, – Kevin 2011-02-12 18:37:31

回答