From: https://www.quora.com/What-is-the-difference-between-J2EE-and-Spring
Lot of people specially those who is new in Java world is confused with these Terms EE, Java EE, J2SE, JDK, Spring, EJB ' s etc.
Lets Keep it simple Stupid.
- What's Java standard Edition.
(This would clear the confusion related to JDK, J2SE, Javase)
- In general, you can say this is the core of Java. ( The prime part)
- your need it, for developing desktop applications as well as web based applications.
- It provides everything from basic objects-to-level classes which is used for networking, database access, Securi Ty, XML parsing, GUI development.
- along with this core APIs, it also provides virtual machine (JVM), development tools, deployment technologies etc. (Ch Eck here for more details- JDK development Tools)
- Below diagram would Show you the version history of Java standard Edition. -Image taken From http://codingfox.com
- You can see the Java standard Edition is called by different names in different years. Hence these different names came into existent, which are now creating the confusion to beginners;)
- But JDK, J2SE, Javase is same core part of the Java, with more enhanced features and more classes and functionalities.
- What is Java Enterprise Edition.
(This would clear confusion about EE, Java ee)
- Java Enterprise Edition is an abstract specification.
- The concrete implementation is so called as the application servers Like-glassfish, WildFly, WebLogic.
- When you download Java EE from Oracle ' s site, it'll give you GlassFish server with bunch of documentations and examples. So they is just providing the implementation of Java Enterprise Edition specification.
- You can also prefer to use the other implementations like RedHat WildFly which also follows these specifications.
- Below is the version History-taken from Imgur
- So, EE, Java EE is just the different versions.
- Does EJB follows Java EE specifications?
- Yes, EJB is a part of Java EE specifications. Full fledge Java EE Application Server support EJB's out of the box.
- This means you can not run EJB applications on simple servlet container like Tomcat.
- Does Spring follows "All" Java EE specifications?
- Strictly speaking NO
- Spring is a standalone framework, which have substituted and improves many parts of Java EE.
- You can consider the Spring as a integration platform that lets and all Java EE technologies.
- That's means you don ' t necessarily need the full fledge Java EE application Server to support.
- You can run it over simple servlet container like Tomcat.
Summary
So ee is a version name of the the abstract specification for Java Enterprise Edition from 1999 to 2003.
and Spring is a-a standalone integration platform (framework) with improvements and substitutions in Java EE which Also allows use Java EE technologies along with it.
What's the difference between EE and Spring