什么是Spring Framework

时间:2013-11-06 15:21:10

标签: java spring

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

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

或者是Java EE和Java SE Oracles产品?这意味着Java SE是Oracle的Java实现吗?

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

由于

4 个答案:

答案 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 jdbcspring 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