Reputation: 203
I am a newbie to Java world, coming from .Net. In the .net world we don't have so many options. I have some basic questions to help me get some more context.
Is the Spring Framework built on top of Java SE or Java EE?
Or are Java EE and Java SE Oracles products? Meaning Java SE is Oracle's implementation of Java?
What is Spring Framework built on? In other words, if I wanted to build a Spring like Framework would I start with Java SE as a base?
Thanks
Upvotes: 18
Views: 7112
Reputation: 298898
Java SE is plain old Java, hence SE (Standard Edition). Java EE (Enterprise edition) is a set of APIs that a server has to implement to be licensed as Java EE compatible. Oracle / Sun has created the SE and a reference implementation of EE ( Glassfish ), but EE is usually implemented by Application servers (JBoss, WebSphere etc.).
Spring is built on Java SE, but can run (and use some of the features of) Java EE. It can also be an alternative for when the full EE stack is not available, allowing non-EE platforms to integrate EE technologies like JPA or JMS.
Spring vs Java EE is an ongoing holy war, although it doesn't need to be. I personally prefer Spring because it doesn't require a special server infrastructure and runs in any environment (Java App, Applet, Servlet, Android, you name it), but the other side has very convincing arguments also (at least for EE 6+). And then there are those who advocate using Spring together with EE, but I guess that's no longer very relevant for EE 6.
Upvotes: 26
Reputation: 2488
Java Standard edition vs Java Enterprise Edition
Java which has JDK (Java development kit) and Virtual machine (VM).
you can run java as stand alone application,e.g Applet, Swing applications
where as J2EE is different, as the name suggest , it has many components which are used in real world (enterprise) applications (which all needs JDK and VM)
J2EE components.
servlet
EJB
JPA
http://docs.oracle.com/cd/E19830-01/819-4725/abmcb/index.html
and j2ee components need web or app servers like tomcat, jboss to run.
finally, Spring framework is nothing but java , as you write java program without using any j2ee components.
spring framework is set of packages. IOC, AspectJ , Spring security, spring jdbc
, spring MVC
each provides some functionality which easy the nowaday development activity, old days we (Java developers) used to write lot of code for handling jdbc connection (spring jdbc does this now), object lifecycle handling(spring IOC), web security (spring security). servlets (Spring MVC)
so spring provides solution for areas where developers used to code manually (Java Coding) and takes lot of development activities, which is inturn provided itself by Java in the name of SPRING.
Upvotes: 2
Reputation: 11730
Is the Spring Framework built on top of Java SE or Java EE?
Spring is built on Java SE and can be used with any java application, although it has many enhancements to ease java EE development.
Or are Java EE and Java SE Oracles products? Meaning Java SE is Oracle's implementation of Java?
Technically Java SE/EE/ME etc is Oracle's product and version 7 is based on OpenJDK as the reference implementation.
What is Spring Framework built on? In other words, if I wanted to build a Spring like Framework would I start with Java SE as a base?
Start with Java SE when learning a new framework if possible. If your end goal is an EE application, starting with a console SE application will allow you to explore the framework without worrying about how it fits into EE.
Upvotes: 8
Reputation: 7812
Spring Framework is written in Java, you can find the source code here: https://github.com/spring-projects/spring-framework
Upvotes: 1