首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >5.3 IoC vs Spring 4 IoC

5.3 IoC vs Spring 4 IoC
EN

Stack Overflow用户
提问于 2013-09-18 12:50:44
回答 3查看 1.2K关注 0票数 2

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

我从来没有使用过春天,我对它一无所知。但是我使用Tapestry IoC已经很长时间了,但是我并没有使用它的所有特性。

以下是我到目前为止所达到的目标:

Tapestry IoC应用程序可以很容易地分布在模块之间(JAR文件),每个模块可以贡献以下内容:

  • 服务定义
  • 服务配置:服务可以使用集合构建,这些集合可以由不同的模块提供。但是,它也有一些限制,比如对集合中的元素进行条件重写,比如在决定是否重写它之前,先检查一个已贡献的配置元素。

(如果我错了,欢迎你纠正我)

Tapestry IoC还有很多内容,我确信,我只是还没有对它进行探索。

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

有没有人使用过最新的版本的Tapestry IoC和Spring IoC,所以他愿意对这两个版本提供见解?

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

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-19 05:55:10

安全的答案总是Spring (和struts一样;)。

spring的优势在于你会找到更多关于它的资料(书籍,文章,博客文章)。因此,如果您需要大量的示例,那么Spring是一个无需考虑的问题,特别是有人可能已经尝试将Spring和GWT结合使用。另外,最新版本的Spring在配置方面也不是那么糟糕;)

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

票数 1
EN

Stack Overflow用户

发布于 2013-09-29 17:51:34

我在2008年使用了GWT和Tapestry。它工作得很好,而且很容易安装。目前我自己正在做一个Tapestry项目,所以我非常喜欢它。

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

另一边的挂毯更难掌握,但回报更大。tapestry IOC也可以在许多其他环境中重用,我也将它用于简单的、与web无关的项目。挂毯文件现在好多了。另外,Tapestry的Jumpstart演示应用在解释和测试基础和更高级的主题方面非常出色。

挂毯的优点是,一旦你理解了它,就很容易使用它。我发现自己很容易钻研源代码,也没有太多的问题去理解它。首先,我不喜欢做代理的服务。但这更像是一种味道。

还要注意,挂毯从来没有得到它应得的动力。当然,要知道Tapestry中的@CommitAfter机制和2008年一样坏了,而我无法让那些负责人来修复它。(我最近试过了,但又失败了)。

剩下的挂毯是joy用的。

另一方面,Spring拥有大量的商业支持和大量的信息。而且,它在Java世界中得到了广泛的应用。因此,如果你投入其中,你的职业简历就有了强大的资产。

所以最终你可以自由选择。我的心说去做Tapestry,但是我的大脑说春天赢了。因为跟随你的心会让你快乐,但跟随你的大脑会让你更成功,答案是清楚的。春天赢得胜利。不过,还是留些时间试试Tapestry吧。特别是Tapestry IOC是一个非常可重用的工具,它可能在您的日常程序员生活中随处可见。

票数 1
EN

Stack Overflow用户

发布于 2013-09-26 06:53:07

您可以找到tapestryIoc和另一个IoC框架的比较:

来自:http://tapestry.apache.org/ioc.html

Spring是最成功的IoC容器项目。Spring项目结合了一个非常好的IoC容器、集成的AspectJ支持以及构建在容器之上的大量库。Spring是一个优秀的应用程序容器,但缺乏框架容器所必需的许多特性: Spring可以通过名称(或id)连接在一起,但是不可能引入额外的命名抽象。Tapestry 4的“基础设施:”抽象是允许轻松点重写内部Tapestry服务的关键,而不必复制大型的相关服务web ( Tapestry 4.0中将近200 )。 虽然Spring允许截获bean,但它以新bean的形式进行拦截,使未被截获的bean可见(并可能被滥用)。Tapestry IoC将服务“包装”在拦截器中,从而防止对核心服务实现的非截获访问。 Spring的XML配置文件非常冗长。这一点在Spring2.0中得到了改进,但比T5 IoC模块类要详细得多。 Spring有一个简单的map/list/value配置方案,但它不是分布式的;它是单个bean定义的一部分。Tapestry 5 IoC允许从多个模块组装服务配置。这对于框架的无缝扩展性非常重要,配置为零(只需将模块放入类路径和所有连接在一起)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18872750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档