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
- SSM:
SpringMVC
+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 进行授权