JAVA和Spring的联系和区别

时间:2024-04-14 13:57:55

前置

  • 在经历了很多面试的时候,面试官都会问一些宏观的问题。在用到SSM框架后我总结了一系列问题。比如今天要分享的就是JAVA和Spring之间的关系。在谈及两者的关系之前,我们先逐个的解释然后总结单点给出结论。我想这是比较合理的也是符合逻辑的。
  • 在Java世界中,很多人都对Java SE、J2EE、Java EE、Spring、EJB等这些术语感到困惑。请认真读完下文!!!

JavaSE(j2SE)

  1. JavaSE就是一种标准版,是Java中的基础部分(可以说这是Java的核心)。
  2. 绝大多数的框架都是基于JavaSE的,Java是Java向上发展的基础。
  3. JAVA SE以前叫j2se 他是支持开发和部署在桌面、服务器、嵌入式和实时运行环境中使用的java应用程序。用于开发桌面应用程序和基于web的应用程序。
  4. 提供了从基本对象到高级类的所有东西,这些类被应用于网络、数据库的访问、安全、XML解析及GUI的开发
  5. JavaSE提供虚拟机,开发工具、部署技术等。
    JAVA和Spring的联系和区别

Java EE

java出现的理由

  • 在我们编写JSP代码的时候,由于大量的显示代码和业务逻辑混淆在一起,彼此嵌套,不利于程序的维护和发展。当业务需求发生变化的时候,对程序员和美工都是一中负担。由此javaEE就出现了。

什么是Java EE-- (javaEE是一个开发分布式企业级应用的规范)

  • Java EE是一个抽象的规范。javaEE是一个开发分布式企业级应用的规范
  • J2EE是1999年到2003年Java EE的抽象规范的版本名称。

javaEE包含的技术

  • JavaEE应用程序是由组件构成的。J2EE是具有独立功能的单元,他们通过相关的类和文件组装成Java应用程序,并由其他组件交互
  • 这些组建技术有:web service struts Hibernate Spring Jsp Servlet JSF EJB JavaBean JDBC JNDI XML javase
    JAVA和Spring的联系和区别

Spring

什么是Spring——Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架

  • Spring是一个开源的框架Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。
  • 它是为了解决企业应用开发的复杂性而创建的(关键点联系上边的JAVAEE
  • Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架
    JAVA和Spring的联系和区别

java “VS” Spring

  • Spring遵循“所有”JavaEE规范吗?严格地说不是
  • 可以将Spring视为一个集成平台,允许您使用所有JavaEE技术。
  • 这意味着您不一定需要完整的fledge JavaEE应用服务器来支持
  • 我们可以在像Tomcat这样的简单servlet容器上运行它。
  • Spring是一个独立的集成平台(框架),在JavaEE中有改进和替换,也允许使用JavaEE技术。

javaEE 与Spring的区别

  • 《J2EE Development without EJB》,描述了新的Spring框架的特性。它就像一股新鲜空气,很快,Spring的直觉依赖注入功能成为了控制反转(IoC)设计模式的实际标准实现。
  • JEE和Spring都在发展,尽管Spring似乎总是在前进。Spring引入的所有最佳功能后来都被“标准”企业Java采纳。
  • Spring IoC在JEE中实现为容器依赖注入(CDI);
  • JEE作为JSR 352实现的Spring批处理:Java平台的批处理应用程序
  • java中功能的改进,比如注解。也会导致Spring的修改
  • 于此同时Spring也变得模块化

在一定程度上归功于Maven的巨大流行,它引入了一种解决和管理依赖第三方库的新方法

小结

  • JEE和Spring继续相互影响并相互鼓励。
  • JEE在Spring中激发了新的增强。

可无论是JEE还是Spring的支持者都倾向于认为它们是相互排斥的

终极对比

JAVA EE

  • javaEE是一个开发分布式企业级应用的规范
  • javaEE 基于注解和CDI
  • 利用web开发的JFC MVC框架
  • 用于进程数据库操作的JPA(java持久层API)实现
  • 基于EJB(javaee服务器端组件模型)和pojo的实现

Spring

  • 基于IOC和AOP
  • 基于XML配置(注释)
  • 使用Spring DAO框架(基于模板设计patter)连接到数据库
  • 提供抽象层以支持各种JTA(事务API)实现供应商
  • 提供端到端平台构建web应用程序,实现使用DI和AOP的松散耦合
  • 开放源码许可

下一片分享Spring框架的原理

关注造风者分享“特干货”

JAVA和Spring的联系和区别

致谢 https://blog.****.net/change_on/article/details/77455569