Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why do large companies prefer Spring over Java EE? [closed]

Tags:

While looking for the job, i have attended some job interviews at companies, that work at financial sphere. Every company uses Spring Framework as main framework for development. And almost everywhere I was told 'We need proved and stable technologies, that is why we use Spring.'

I would like to know, as I can't understand, why Spring is more popular and 'safer', than Java EE (for example, Spring MVC is used more, than JSF, while both provide almost the same functionality)?

How it is possible, that native Java EE functionalities are less stable, than third-libraries?

like image 607
Alex Kartishev Avatar asked Apr 23 '14 12:04

Alex Kartishev


People also ask

Why is Spring better than Java EE?

Java EE can be used to develop either web-based or non-web-based structures, whereas Spring offers a variety of structures for your application ranging from Microservices, cloud, serverless event driver, web applications, etc.

Do big companies use spring boot?

However, there are no barriers as such for the Java language itself. Google, Accenture, Microsoft, and Amazon some companies that use Spring Boot.

What are the advantages of Spring over Java?

It provides an extensive level of infrastructure support. Spring also provides the “Plain Old Java Objects” (POJOs) mechanisms using which developers can easily create the Java SE programming model with the full and partial JAVA EE(Enterprise Edition).


1 Answers

Some reasons:

  1. Spring was already there: J2EE was ugly (no Dependency Injection, no conversion over configuration and lot of scares from EJB2, ouch). Java EE "stole" all good ideas from Spring, and it is in fact lighter and easier than previous versions. But now, everybody already uses Spring. It means a lot of production code, lot of well tested products and so on. In the end, why do people in UK/USA use English units? (There is a huge cost to change)

  2. Spring is lighter: You do not need a heavy Java EE application server, you can deploy your application in a web container such as Tomcat.

  3. Spring offers a ton of features which are not available as Java EE standards, such as Spring Batch or Spring Integration. You can use Spring features with Java EE standards, but it should be supposed Spring works better with Spring, shouldn't it?

  4. Spring Aspect-oriented programming is more flexible and power that Java EE interceptors. You can use third-party AOP with Java EE but you can have this out-of-the-box from Spring.

  5. Spring moves faster. Spring can release often and faster because it is no standard and only one vendor. So, it is not required JCP ballots, approvals, etc. The reaction to market requirements is much faster. Some current examples: cloud, mobile, social computing.

Ironically, I have "got" a lot ideas from: 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/

like image 183
rdllopes Avatar answered Nov 13 '22 19:11

rdllopes