Spring是2003年兴起的,它是一个轻量级的,非侵入式的IOC和AOP的一站式框架,为简化企业级应用开发。
它的特点:
轻量级:指的是核心jar包比较小的。
非侵入式的:框架代码不会侵入到业务代码,即业务代码的类不会实现或继承框架中接口或类。
IOC:Inversion Of Control 反转控制/控制反转,以前我们使用java对象,在哪使用就在哪里new,IOC思想就是对所有我们需要使用的对象进行封装管理(创建,功能增强,销毁),在哪使用我们就在哪里注入,耦合度降低。
AOC:面向切面编程,核心思想是将公共功能进行提取,然后统一代理调用。
一站式框架:spring还对jdbc,对web层进行封装,对事务管理等等。
spring发展到今天已经形成了一种开发的生态圈,spring提供了若干个项目,每个项目用于完成特定的功能。
我们需要掌握的功能:
spring Framework :spring框架;它是一个底层的框架,是一个设计型的框架,其他的spring实现都可以放在它上面运行,例如springboot、springclode等等
springBoot:在spring简化开发的基础上,加速开发;
spingCloud:分布式开发
Core Container 核心容器 ,容器容器,是用来装东西的,装的东西自然就是对象了;所以spring就是一个用来装对象、管理对象的一门技术,这就是spring的核心。
AOP 面向切面编程,做的事情就是在不改变原始代码的情况下增强功能。放在核心容器的上面,意味着它要依赖核心容器的执行。
Aspects AOP思想的实现
Date Access 数据访问 ,集成与数据访问相关的技术。例如dao数据访问
Date Integration 数据集成,还支持spring和其他的技术组合使用,spring可以包容其他技术;例如mybatis
Transactions 事务,spring提供了开发效率极高的事务控制方案,做出了很大的突破(重点学习)
web web开发,掌握SpringMVC
Test:单元测试与集成测试
基于上面sping的系统架构图,我们一定要先学习的一定是core Container(核心容器IOC、DI);然后是数据整合;然后是AOP;然后是事务;