学习资源:动力节点的2020最新Spring框架教程【IDEA版】-Spring框架从入门到精通
1、Spring 框架是什么
Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,它是为了解决企业应用开发的复杂性而创建的。 Spring 的核心是控制反转(IoC)和面向切面编程(AOP)。Spring 是可以在 Java SE/EE 中使用的轻量级开源框架
Spring 的主要作用就是为代码“解耦”,降低代码间的耦合度。 就是让对象和对象(模块和模块)之间关系不是使用代码关联,而是通过配置来说明。即在 Spring 中说明对象(模块)之间的关系。
Spring 根据代码的功能特点, 使用 Ioc 降低业务对象之间耦合度。 IoC 使得主业务在相互调用过程中,不用再自己维护关系了,即不用再自己创建要使用的对象了。而是由 Spring 容器统一管理,自动“注入” ,注入即赋值。 而 AOP 使得系统级服务得到了最大复用,且
不用再由程序员手工将系统级服务“混杂”到主业务逻辑中了,而是由 Spring 容器统一完成“织入”。
2、Spring 优点
Spring 是一个框架,是一个半成品的软件。它由 20 个模块组成,是一个容器管理对象,容器是盛放东西的,Spring 容器不装文本、数字,而是装的是已经实例化的对象,即是说 Spring 是存储对象的容器。
- 轻量
Spring 框架使用的 jar 都比较小,一般在 1M 以下或者几百 kb。Spring 核心功能的所需的 jar 总共在 3M 左右。
Spring 框架运行占用的资源少,运行效率高,不依赖其他 jar。 - 针对接口编程,解耦合
Spring 提供了 Ioc 控制反转,由容器管理对象及对象的依赖关系。原来在程序代码中创建对象,现在由容器完成。对象之间的依赖实现了解耦合。 - **AOP 编程的支持 **
通过 Spring 提供的 AOP 功能,方便进行面向切面的编程,许多不容易用传统 OOP 实现的功能可以通过 AOP 轻松应付。
在 Spring 中,开发人员可以从繁杂的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。 - 方便集成各种优秀框架
Spring 不排斥各种优秀的开源框架,相反 Spring 可以降低各种框架的使用难度, Spring 提供了对各种优秀框架(如 Struts,Hibernate、 MyBatis)等的直接支持。简化框架的使用。Spring 像插线板一样,其他框架是插头,可以容易的组合到一起。需要使用哪个框架,就把这个插头放入插线板。不需要可以轻易的移除。
3、Spring 体系结构
Spring 由 20 多个模块组成,它们可以分为数据访问/集成(Data Access/Integration)、Web、面向切面编程(AOP, Aspects)、提供JVM的代理(Instrumentation)、消息发送(Messaging)、核心容器(Core Container)和测试(Test)。