1.1 Spring的概述
- 什么是Spring
- Spring的两大核心(IOC反转控制—AOP面向切面编程)
- Spring的发展历程和优势
1997 年 IBM 提出了 EJB 的思想
1998 年,SUN 制定开发标准规范 EJB1.0
1999 年,EJB1.1 发布
2001 年,EJB2.0 发布
2003 年,EJB2.1 发布
2006 年,EJB3.0 发布
Rod Johnson(spring 之父)
Expert One-to-One J2EE Design and Development(2002)
阐述了 J2EE 使用 EJB 开发设计的优点及解决方案
Expert One-to-One J2EE Development without EJB(2004)
阐述了 J2EE 开发不使用 EJB 的解决方式(Spring 雏形)
2017 年 9 月份发布了 spring 的最新版本 spring 5.0 通用版(GA)
方便解耦,简化开发
通过 Spring 提供的 IoC 容器,可以将对象间的依赖关系交由 Spring 进行控制,避免硬编码所造
成的过度程序耦合。用户也不必再为单例模式类、属性文件解析等这些很底层的需求编写代码,可
以更专注于上层的应用。
AOP 编程的支持
通过 Spring 的 AOP 功能,方便进行面向切面的编程,许多不容易用传统 OOP 实现的功能可以
通过 AOP 轻松应付。
声明式事务的支持
可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务的管理,
提高开发效率和质量。
方便程序的测试
可以用非容器依赖的编程方式进行几乎所有的测试工作,测试不再是昂贵的操作,而是随手可
做的事情。
方便集成各种优秀框架
Spring 可以降低各种框架的使用难度,提供了对各种优秀框架(Struts、Hibernate、Hessian、Quartz
等)的直接支持。
降低 JavaEE API 的使用难度
Spring 对 JavaEE API(如 JDBC、JavaMail、远程调用等)进行了薄薄的封装层,使这些 API 的
使用难度大为降低。
Spring的理念:使用现有的技术更加容易使用,本身就是一个大杂烩,整合了现有的技术框架!
SSH:Struct2 + Spring + Hibernate (全自动的持久化框架)
SSM:SpringMVC + Spring + Mybatis (半自动的持久化框架,可定性更高,SQL更加灵活)
Spring官网:链接
1.2 Spring的优点
- Spring是一个开源的免费的框架(容器)
- Spring是一个轻量级的、非入侵的框架!
- Spring的两大核心(IOC反转控制—AOP面向切面编程)
- 支持事务的处理,对框架整合的支持!
轻量级的:意味着和Mybatis一样比较便捷使用、当只要下载下来就能直接使用
非入侵的:在原来的项目中可以直接引入,不会对原先的代码工程造成影响
1.3Spring体系结构
1.4扩展
在Spring的官网上有这个介绍:现代化的Java开发!说白了就是基于Spring的开发
- SpringBoot
- 一个快速开发的脚手架
- 基于SpringBoot可以快速开发单个微服务
- Spring Cloud
- SpringCloud是基于SpringBoot实现的
现在的大公司都是基于SpringBoot进行快速开发,学习SpringBoot的前提,需要完全理解Spring及SpringMVC! (一定要花费大量的时间精力学习Spring和SpringMVC)
1.5 弊端:
由于发展了太久之后,违背了原来的理念!配置十分繁琐,人称:“配置地狱”