Apache Tapestry 5.3 IoC与Spring 4 IoC

Apache Tapestry 5.3 IoC与Spring 4 IoC,spring,dependency-injection,tapestry,Spring,Dependency Injection,Tapestry,我正在研究可以用来开发ERP系统的框架 我从未使用过弹簧,对此我一无所知。但是我已经使用Tapestry IoC很长时间了,但是我还没有使用它的所有特性 以下是我迄今为止取得的成果: 挂毯国际奥委会 应用程序可以很容易地分布在模块(JAR文件)之间,每个模块可以提供以下功能: 服务定义 服务配置:可以使用集合构建服务,这些集合可以由不同的模块提供。但它也有一些限制,比如有条件地重写该集合中的元素,比如在决定是否重写之前检查贡献的配置元素 (如果我错了,非常欢迎纠正我) Tapestry Io

我正在研究可以用来开发ERP系统的框架

我从未使用过弹簧,对此我一无所知。但是我已经使用Tapestry IoC很长时间了,但是我还没有使用它的所有特性

以下是我迄今为止取得的成果:

挂毯国际奥委会 应用程序可以很容易地分布在模块(JAR文件)之间,每个模块可以提供以下功能:

  • 服务定义
  • 服务配置:可以使用集合构建服务,这些集合可以由不同的模块提供。但它也有一些限制,比如有条件地重写该集合中的元素,比如在决定是否重写之前检查贡献的配置元素
(如果我错了,非常欢迎纠正我)

Tapestry IoC还有很多,我确信这一点,我只是还没有探索过

我主要关心的是在不同的JAR文件中在模块之间分发我的应用程序。这有助于轻松安全地插入新功能

是否有人使用了Tapestry IoC和Spring IoC的最新版本,以便他能够提供对这两个版本的深入了解

  • Spring是否像Tapestry一样提供了分布式配置的概念
  • 这些框架中的一个在哪方面比另一个更出色
  • 春天能在短时间内易学吗
  • 与基于ajax的前端(如GWT或SmartGWT)集成,哪个更容易、更高效
  • 在提供企业服务,如安全、管道、调度、事务(以及您可能建议的任何其他服务)时,哪种服务更容易、更高效
  • 还有什么我应该问的吗

安全的答案总是弹簧(与支柱相同)

spring的优点是您可以找到更多关于它的资源(书籍、文章、博客文章)。因此,如果您需要大量的示例,那么Spring是一个不需要动脑筋的工具,特别是有人可能已经尝试过将Spring和GWT结合使用。另外,最新版本的Spring在配置方面也不错;)

另一方面,Tapestry非常强大。你可以从盒子里拿出很多东西(例如提到的模块化),这些东西在Spring中是可能的,但我不知道它们是否可以从盒子里拿出来(可能是,我从来没有用过Spring,2.0之后就是这样)。
值得一提的是,使用Tapestry,您可以获得完整的Spring支持,因此即使某些东西在T5中不起作用,您仍然可以创建SpringBean并在T5^^

中使用它们,您可以找到tapestryIoc和其他IoC框架的比较:

发件人:

Spring是最成功的IoC容器项目。Spring项目结合了一个非常好的IoC容器、集成的AspectJ支持以及在容器上构建的大量库。Spring是一个优秀的应用程序容器,但缺少框架容器所需的许多功能:

Springbean可以通过名称(或id)连接在一起,但不可能引入额外的命名抽象。Tapestry 4的“infrastructure:”抽象是允许轻松覆盖内部Tapestry服务的关键,而无需复制大型相互关联的服务web(Tapestry 4.0中有近200个)

尽管Spring允许拦截bean,但它以新bean的形式进行拦截,使未被拦截的bean可见(并且容易被误用)。Tapestry IoC将服务“包装”在拦截器中,防止未拦截的对核心服务实现的访问

Spring的XML配置文件非常冗长。这在Spring2.0中有所改进,但仍然比T5 IoC模块类更加详细

Spring有一个简单的映射/列表/值配置方案,但它不是分布式的;它是单个bean定义的一部分。Tapestry 5 IoC允许从多个模块组装服务配置。在零配置的情况下,这对于框架的无缝可扩展性非常重要(只需将模块放入类路径中,所有内容都挂钩在一起)


我在2008年使用了GWT和Tapestry。它工作得很好,安装起来也很容易。我现在正在做一个挂毯项目,所以我非常喜欢它

我发现春季国际奥委会非常容易理解和学习。你应该能够在一个周末左右的时间里学好基础知识

另一边的挂毯有点难掌握,但更有价值。tapestry IOC在许多其他环境中也是可重用的,我也将其用于简单的非web相关项目。现在情况好多了。此外,Tapestry在解释和测试基础和更高级的主题方面也非常出色

tapestry的优点是,一旦您理解了它,就很容易使用。我发现自己很容易深入了解源代码,理解它也没什么问题。首先,我不喜欢代理服务。但这更像是一种品味

还要注意的是,tapestry从未获得应有的动力。当然,大家都知道Tapestry中的@CommitAfter机制和2008年一样坏,我无法让负责人来修复它。(我最近试过,但又失败了)

tapestry的其余部分使用起来很有趣

另一方面,Spring拥有大量的业务支持和大量的信息。它在Java世界中也被广泛使用。因此,如果你进入it行业,你的专业简历将拥有强大的资产

所以最终你可以自由选择。我的心说去织锦,但我的大脑说春天赢了。因为追随你的内心让你快乐,但追随你的大脑让你更成功,答案很清楚。春天轻而易举地获胜。但也要抽出几天时间试试Tapestry。特别是挂毯是一个v