16

我是 Java 世界的新手,来自 .Net。在.net 世界中,我们没有太多选择。我有一些基本问题可以帮助我了解更多背景信息。

Spring Framework 是建立在 Java SE 还是 Java EE 之上的?

还是 Java EE 和 Java SE Oracles 产品?意思是 Java SE 是 Oracle 的 Java 实现?

Spring 框架是基于什么构建的?换句话说,如果我想构建一个类似 Spring 的框架,我会从 Java SE 作为基础开始吗?

谢谢

4

4 回答 4

25

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 与 Java EE 是一场持续的圣战,尽管它并非必须如此。我个人更喜欢 Spring,因为它不需要特殊的服务器基础设施并且可以在任何环境中运行(Java App、Applet、Servlet、Android,你可以说它),但另一方面也有非常有说服力的论据(至少对于 EE 6+ )。还有一些人主张将 Spring 与 EE 一起使用,但我想这与 EE 6 不再相关。

于 2013-11-06T15:25:29.303 回答
7

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 框架是基于什么构建的?换句话说,如果我想构建一个类似 Spring 的框架,我会从 Java SE 作为基础开始吗?

如果可能,在学习新框架时从 Java SE 开始。如果您的最终目标是 EE 应用程序,那么从控制台 SE 应用程序开始将允许您探索框架,而不必担心它如何适合 EE。

于 2013-11-06T15:25:27.523 回答
2

Java 标准版与 Java 企业版

Java具有JDK(Java开发工具包)和虚拟机(VM)。

您可以将 java 作为独立应用程序运行,例如 Applet、Swing 应用程序

J2EE 有所不同,顾名思义,它有许多组件用于现实世界(企业)应用程序(都需要 JDK 和 VM)

J2EE components.
servlet
EJB
JPA

http://docs.oracle.com/cd/E19830-01/819-4725/abmcb/index.html

j2ee 组件需要 web 或应用程序服务器,如 tomcat、jboss 才能运行。

最后,Spring 框架不过是 java ,因为您编写 java 程序时不使用任何 j2ee 组件。

spring 框架是一组包。IOC, AspectJ , Spring security, spring jdbc,spring MVC每一个都提供了一些简化当今开发活动的功能,过去我们(Java 开发人员)曾经编写大量代码来处理 jdbc 连接(spring jdbc 现在这样做)、对象生命周期处理(spring IOC)、web 安全性(spring security )。小服务程序(Spring MVC)

所以spring为开发人员过去手动编码(Java Coding)并进行大量开发活动的领域提供了解决方案,而这又是Java以SPRING的名义自行提供的。

于 2013-11-06T16:02:54.607 回答
0

Spring Framework 是用 Java 编写的,你可以在这里找到源代码: https ://github.com/spring-projects/spring-framework

于 2013-11-06T15:25:08.583 回答