Spring

David 2022-06-28 15:30:01
Categories: Tags:

什么是 Spring 框架

  • Spring 包括许多框架,例如 Spring frameworkSpringMVCSpringBootSpring CloudSpring DataSpring Security 等。

 

spring

 

  • Spring framework 简称为 Spring 框架。Spring就是一个容器,以xml标签的形式管理对象,创建对象,给属性赋值。Spring 框架是全家桶内其它框架的基础和核心。

 

  • Spring Rod Johnson 创立,2004 年发布了 Spring 框架的第一版,其目的是用于简化企业级应用程序开发的难度和周期。以下是 Spring 的版本对应的 JAVA JDK 要求:

 

  • Spring Framework 6.0.x: JDK 17-21 (expected)
  • Spring Framework 5.3.x: JDK 8-19 (expected)
  • Spring Framework 5.2.x: JDK 8-15
  • Spring Framework 5.1.x: JDK 8-12
  • Spring Framework 5.0.x: JDK 8-10
  • Spring Framework 4.3.x: JDK 6-8

  • Spring Framework 6.0.x 开始不再向下兼容

 

 

 

Sring 框架结构

  • Spring 是分层的 Java SE/EE 一站式轻量级开源框架

Spring Framework (@springframework) / Twitter

  • IoCInverse of Control,控制反转)和 AOPAspect Oriented Programming,面向切面编程)为内核。

 

 

spring-overview

 

  • IoC 指的是将对象的创建权交给 Spring 去创建。

使用 Spring 之前,对象的创建都是由我们使用 new 创建,而使用 Spring 之后,对象的创建都交给了 Spring 框架。

 

  • AOP 用来封装多个类的公共行为,将那些与业务无关,却为业务模块所共同调用的逻辑封装起来,减少系统的重复代码,降低模块间的耦合度。

另外,AOP 还解决一些系统层面上的问题,比如日志、事务、权限等。

 

 

 

Spring的特点

Spring 框架具有以下几个特点。

  1. 方便解耦,简化开发
    • Spring 就是一个大工厂,可以将所有对象的创建和依赖关系的维护交给 Spring 管理。
    • SpringIoC容器降低了业务对象替换的复杂性,提高了组件之间的解耦
    • SpringORMDAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问

 

  1. 方便集成各种优秀框架
    • Spring 不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如 Struts2HibernateMyBatis 等)的直接支持。

 

  1. 降低 Java EE API 的使用难度
    • Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部。
    • Spring Java EE 开发中非常难用的一些 APIJDBCJavaMail、远程调用等)都提供了封装,使这些 API 应用的难度大大降低。

 

  1. 方便程序的测试
    • Spring 支持 JUnit4,可以通过注解方便地测试 Spring 程序。
    • 立于各种应用服务器,基于Spring框架的应用,可以真正实现Write OnceRun Anywhere的承诺。

 

  1. AOP 编程的支持
    • Spring 提供面向切面编程,可以方便地实现对程序进行权限拦截和运行监控等功能。
    • SpringAOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用。

 

  1. 声明式事务的支持
    • 只需要通过配置就可以完成对事务的管理,而无须手动编程。