文章

01.Spring5

01.Spring5

Spring 入门

Spring 介绍

  • Spring:春天 ——> 软件行业带来春天
  • 2002,首次推出了 Spring了框架 的雏形:interface21框架
  • Spring 框架即以 interface21 框架为基础,经过重新设计,并不断丰富其内涵,于 2004 年 3 月 24 日,发布了 1.0 正式版
  • Rod Johnson,Spring Framework 创始人,著名作者。很难想象 Rod Johnson 的学历,真的让好多人大吃一惊,他是 悉尼大学 的博士,然而他的专业不是计算机,而是音乐学
  • Spring 理念:使现有的技术更加容易使用,本身是一个大杂烩;整合了现有的技术框架
  • SSH:Struct2 + Spring + Hibernate
  • SSMSpringMVC + Spring + Mybatis

Spring 发展史

  • IBM(IT 公司 - 国际商业机器公司) 在 1997 年提出了 EJB 思想,早期的 JAVAEE 开发大都基于该思想。
  • Rod Johnson(Java 和 J2EE 开发领域的专家) 在 2002 年出版的 Expert One-on-One J2EE Design and Development,书中有阐述在开发中使用 EJB 该如何做。
  • Rod Johnson 在 2004 年出版的 Expert One-on-One J2EE Development without EJB,书中提出了比 EJB 思想更高效的实现方案,并且在同年将方案进行了具体的落地实现,这个实现就是 Spring1.0。
  • 随着时间推移,版本不断更新维护,目前最新的是 Spring5
    • Spring1.0 是纯配置文件开发
    • Spring2.0 为了简化开发引入了注解开发,此时是配置文件加注解的开发方式
    • Spring3.0 已经可以进行纯注解开发,使开发效率大幅提升,我们的课程会以注解开发为主
    • Spring4.0 根据 JDK 的版本升级对个别 API 进行了调整
    • Spring5.0 已经全面支持 JDK8,现在 Spring 最新的是 5 系列所以建议大家把 JDK 安装成 1.8 版

Spring 优点

  • Spring 是一个开源免费的框架(容器)
  • Spring 是一个轻量级的、非入侵式的框架
  • 控制反转(IOC),面向切面编程(AOP)
  • 支持事务的处理,对框架整合的支持

总结:==Spring 就是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架==。

Spring 组成

Spring 框架是一个分层架构,由 7 个定义良好的模块组成。

  • Spring Core 核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用 控制反转(IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
  • Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
  • Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向切面的编程功能 , 集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理任何支持 AOP 的对象。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖组件,就可以将声明性事务管理集成到应用程序中。
  • Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。
  • Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。
  • Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
  • Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。

Spring Core

Spring IoC 控制反转

详见:[[Spring IoC]]

Spring AOP 切面

详见: [[Spring AOP]]

Ref

本文由作者按照 CC BY 4.0 进行授权