我是来自.Net的Java世界的新手。在.net世界中,我们没有太多选择。我有一些基本问题可以帮助我获得更多背景信息。
Spring Framework是建立在Java SE还是Java EE之上的?
或者是Java EE和Java SE Oracles产品?这意味着Java SE是Oracle的Java实现吗?
什么是Spring Framework构建?换句话说,如果我想构建一个类似Spring的框架,我会从Java SE开始作为基础吗?
由于
答案 0 :(得分:18)
Java SE是普通的Java,因此是SE(标准版)。 Java EE(企业版)是一组API,服务器必须实现这些API以获得与Java EE兼容的许可。 Oracle / Sun创建了SE和EE(Glassfish)的参考实现,但EE通常由应用程序服务器(JBoss,WebSphere等)实现。
Spring是基于Java SE构建的,但可以运行(并使用Java EE的一些功能)。它也可以作为完整EE堆栈不可用的替代方案,允许非EE平台集成JPA或JMS等EE技术。
Spring vs Java EE是一场持续的神圣战争,尽管它并不需要。我个人更喜欢Spring,因为它不需要特殊的服务器基础架构并且可以在任何环境中运行(Java App,Applet,Servlet,Android,你可以命名),但另一方也有非常有说服力的论据(至少对于EE 6+而言) )。然后有些人主张将Spring与EE结合使用,但我猜这与EE 6不再相关。
答案 1 :(得分:4)
Spring Framework是建立在Java SE还是Java EE之上的?
Spring是基于Java SE构建的,可以与任何Java应用程序一起使用,尽管它有许多增强功能可以简化Java EE开发。
或者是Java EE和Java SE Oracles产品?这意味着Java SE是Oracle的Java实现吗?
技术上,Java SE / EE / ME等是Oracle的产品,版本7基于OpenJDK作为参考实现。
什么是Spring Framework构建?换句话说,如果我想构建一个类似Spring的框架,我会从Java SE开始作为基础吗?
如果可能的话,在学习新框架时从Java SE开始。如果您的最终目标是EE应用程序,那么从控制台SE应用程序开始将允许您探索框架而无需担心它如何适合EE。
答案 2 :(得分:1)
Java标准版与Java企业版
具有JDK(Java开发工具包)和虚拟机(VM)的Java。
您可以将java作为独立应用程序运行,例如Applet,Swing应用程序
在J2EE不同的地方,顾名思义,它有许多组件,用于现实世界(企业)应用程序(都需要JDK和VM)
J2EE components.
servlet
EJB
JPA
http://docs.oracle.com/cd/E19830-01/819-4725/abmcb/index.html
和j2ee组件需要像tomcat,jboss这样的web或app服务器才能运行。
最后,Spring框架只是java,因为你在不使用任何j2ee组件的情况下编写java程序。
spring框架是一组包。 IOC, AspectJ , Spring security, spring jdbc
,spring MVC
各自提供了一些易于开发活动的功能,过去我们(Java开发人员)用来编写大量用于处理jdbc连接的代码(spring jdbc现在就这样做),对象生命周期处理(春天IOC),网络安全(春季安全)。 servlets(Spring MVC)
所以spring为开发人员习惯手动编码(Java编码)的领域提供了解决方案,并且需要大量的开发活动,这些活动由Java以SPRING的名义提供。
答案 3 :(得分:0)
Spring Framework是用Java编写的,你可以在这里找到源代码: https://github.com/spring-projects/spring-framework