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

Ale*_*hev 20 java spring spring-mvc java-ee

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

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

原始Java EE功能如何可能比第三个库更不稳定?

rdl*_*pes 18

一些原因:

  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面向方面编程比Java EE拦截器更灵活,更强大.您可以将第三方AOP与Java EE一起使用,但是您可以从Spring获得这个开箱即用的功能.

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

具有讽刺意味的是,我从" http://www.kai-waehner.de/blog/2011/11/21/why-i-will-use-java-ee-jee-and-not- "获得了很多想法 . J2EE的INSTEAD-OF-弹簧在全新的企业Java的项目,在2012 /


sen*_*iwu 9

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

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

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

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

因此,他们希望相信他们所拥有的更安全,更快等(可能是也可能不是)


Nat*_*hes 8

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

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