为什么大公司更喜欢Spring而不是Java EE?

时间:2014-04-23 12:53:00

标签: java spring java-ee spring-mvc

在找工作的同时,我参加了一些在金融领域工作的公司的面试。每家公司都使用Spring Framework作为开发的主要框架。几乎每个地方都被告知我们需要经过验证和稳定的技术,这就是我们使用Spring的原因。'

我想知道,正如我无法理解的那样,为什么Spring比Java EE更受欢迎和更安全(例如,Spring MVC比JSF使用更多,而两者都提供几乎相同的功能)?

本地Java EE功能如何可能比第三库更不稳定?

3 个答案:

答案 0 :(得分:19)

一些原因:

  1. Spring已经存在:J2EE很难看(没有依赖注入,没有转换配置和来自EJB2的大量恐慌,哎哟)。 Java EE"偷走"来自Spring的所有好主意,实际上它比以前的版本更轻松,更容易。但是现在,每个人都已经使用了Spring。它意味着很多生产代码,很多经过良好测试的产品等等。最后,为什么英国/美国的人使用英语单位? (改变成本很高)

  2. Spring更轻松:您不需要繁重的Java EE应用程序服务器,您可以将应用程序部署在Web容器(如Tomcat)中。

  3. Spring提供了许多Java EE标准所不具备的功能,例如Spring Batch或Spring Integration。您可以将Spring功能与Java EE标准一起使用,但应该假设Spring在Spring中运行得更好,不应该吗?

  4. Spring面向Aspect的编程比Java EE拦截器更灵活,更强大。您可以在Java EE中使用第三方AOP,但是您可以从Spring开箱即用。

  5. 春天移动得更快。 Spring可以经常更快地发布,因为它不是标准的,只有一个供应商。因此,不需要JCP选票,批准等。对市场要求的反应要快得多。目前的一些例子:云,移动,社交计算。

  6. 讽刺的是,我已经"得到了#34;很多想法来自: http://www.kai-waehner.de/blog/2011/11/21/why-i-will-use-java-ee-jee-and-not-j2ee-instead-of-spring-in-new-enterprise-java-projects-in-2012/

答案 1 :(得分:9)

  

在寻找工作的同时,我参加了一些面试   在金融领域工作的公司。每家公司都使用Spring   框架作为发展的主要框架。几乎到处都是我   被告知'我们需要经过验证和稳定的技术,这就是我们使用的原因   春'

我在金融领域工作了好几年 - 所以我可以从我的经验中说出来。

我认识的许多金融服务提供商在2006 - 2008年左右对其企业软件堆栈进行了重大升级,当时在几个难以维护且编写得不好的EJB项目之后,关于EJB的幻想破灭达到了顶峰。因此,为了升级他们的系统并吸引开发人员,他们开始在Spring和Hibernate中重新实现他们的东西,这也是他们在最先进的框架中开始新项目的合理步骤< / em>(当时是Spring,Hibernate和Wicket)

但自那时起金融危机爆发,并没有多少金融服务公司考虑在新开发项目上投入那么多钱,除非它非常关键。大多数人并不关心Java EE 6或7是否已经启动,而且一些旧的论点不再适用。

所以他们希望相信他们拥有的是“更强大>更安全,更快等等(可能是也可能不是)

答案 2 :(得分:8)

使Spring对开发人员具有吸引力的一件事,特别是在像金融公司这样的大型组织中,它让他们可以更好地控制他们的中间件。使用纯Java EE,开发人员可能会受到一个与他们目标截然不同的运营团队的支配。在许多情况下,操作希望避免弄乱任何有效的东西,每次升级都是出错的机会,并且不像他们看到升级带来的好处的人那样,所以这使他们的选择非常保守。这可能意味着开发人员会遇到过时版本的应用程序服务器,如果出现问题,开发人员必须使用供应商的技术支持(因此您必须说服供应商您遇到问题并在其下重现他们指定的条件),然后与实施修复的操作协调(这当然意味着向您提出不同优先级的组织的请求)。开发人员希望尽可能减少此类事情。

在应用程序中使用Spring可以让开发人员更自由地按照自己的计划更新更多的基础架构。