在找工作的过程中,我参加了一些公司的面试,这些公司都在金融领域工作。每个公司都使用Spring Framework作为主要的开发框架。几乎所有地方都有人告诉我‘我们需要经过验证和稳定的技术,这就是我们使用Spring.’的原因。‘
我想知道,因为我不能理解,为什么Spring比Java EE更受欢迎,也更“安全”(例如,Spring MVC比JSF使用得更多,而两者提供的功能几乎相同)?
原生Java功能比第三方库更不稳定,这怎么可能?
发布于 2014-04-23 21:47:25
一些原因:
具有讽刺意味的是,我从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/那里得到了很多想法:
发布于 2014-04-23 21:18:03
在找工作的过程中,我参加了一些公司的面试,这些公司都在金融领域工作。每个公司都使用Spring Framework作为主要的开发框架。几乎所有地方都有人告诉我‘我们需要经过验证和稳定的技术,这就是我们使用Spring.’的原因。‘
我在金融领域工作了几年,所以我可以谈谈我的经验。
我认识的许多金融服务提供商在2006-2008年左右对其企业软件堆栈进行了重大升级,当时在几个不可维护和编写糟糕的EJB项目之后,对EJB的幻想破灭达到了顶峰。因此,为了升级系统和吸引开发人员,他们开始用Spring和Hibernate重新实现他们的东西,这也是他们在最先进的框架(当时是Spring,Hibernate和Wicket)中启动新项目的合乎逻辑的一步。
但从那时起,金融危机爆发了,没有多少金融服务公司考虑在新开发项目上投入那么多资金,除非这是非常关键的。大多数人并不关心是JavaEE6还是JavaEE7发布的,并且一些旧的论点已经不再有效了。
因此他们更愿意相信他们拥有的是safer,faster等(这可能是真的,也可能是假的)
发布于 2014-04-23 21:02:13
Spring对开发人员有吸引力的一件事是,它允许他们对自己的中间件进行更多的控制。对于纯Java EE,开发人员受制于一个运营团队,他们的目标与他们的目标非常不同。在许多情况下,运营部门希望避免弄乱任何可以工作的东西,每次升级都是出错的机会,而且他们并不是从升级中看到好处的人,所以这使得他们的选择非常保守。这可能意味着开发人员被应用程序服务器的过时版本卡住了,如果出现问题,开发人员必须与供应商的技术支持合作(因此,您必须让供应商相信您有问题,并在他们指定的条件下重现问题),然后协调操作以实现修复(这当然意味着向与您具有不同优先级的组织证明您的请求是合理的)。只要有可能,开发人员喜欢最小化这类事情。
在应用程序中使用Spring给了开发人员更多的自由,让他们可以按照自己的计划更新更多基础设施。
https://stackoverflow.com/questions/23244894
复制相似问题