什么是Spring Framework

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

Spring Framework是基于Java SE还是Java EE构建的?

或者是Java EE和Java SE Oracles产品? 是什么意思Java SE是Oracle的Java实现?

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

谢谢

Java SE是普通的旧Java,因此是SE(标准版)。 Java EE (企业版)是一组API,服务器必须实现这些API以获得Java EE兼容许可。 Oracle / Sun创建了SE和EE( Glassfish )的参考实现,但EE通常由应用程序服务器(JBoss,WebSphere等)实现。

Spring是基于Java SE构建的,但可以运行(并使用Java EE的一些function)。 它也可以作为完整EE堆栈不可用时的替代方案,允许非EE平台集成JPA或JMS等EE技术。

Spring vs Java EE是一场持续的圣战,虽然它不需要。 我个人更喜欢Spring,因为它不需要特殊的服务器基础设施,可以在任何环境中运行(Java App,Applet,Servlet,Android,你可以命名),但另一方也有非常有说服力的论据(至少对于EE 6+而言) )。 然后有些人主张将Spring与EE结合使用,但我猜这与EE 6不再相关。

Spring Framework是基于Java SE还是Java EE构建的?

Spring是基于Java SE构建的,可以与任何Java应用程序一起使用,尽管它有许多增强function可以简化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。

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组件需要像tomcat,jboss这样的web或app服务器来运行。

最后,Spring框架只不过是java,因为你在不使用任何j2ee组件的情况下编写java程序。

spring框架是一套包。 IOC, AspectJ , Spring security, spring jdbcspring MVC各自提供了一些易于开发活动的function,过去我们(Java开发人员)用来编写大量用于处理jdbc连接的代码(spring jdbc现在就这样做),对象生命周期处理(弹簧IOC),网络安全(弹簧安全)。 servlets(Spring MVC)

所以spring为开发人员习惯手动编码(Java编码)的领域提供了解决方案,并且需要大量的开发活动,这些活动由Java以SPRING的名义提供。

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