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