1. Spring 特点
Spring 主要有如下特点:
- 轻量级:Spring 是非侵入式,其中的对象不依赖 Spring 的特定类;
- 控制反转(IoC):通过 IoC,促进了低耦合,一个对象依赖的其他对象通过被动的方式传递进来,而不用该对象主动创建或查找;
- 面向切面(AOP):支持面向切面编程,将应用业务逻辑层和系统服务层分开;
- 容器:包含并管理应用对象的配置以及生命周期,此时 Spring 就相当于一个容器;
- 框架集合:能将简单的组件进行配置,组合成为更为复杂的应用;在 Spring 中,应用对象被声明式地组合在一个 XML 文件中;此外,Spring 也提供了事务管理、 持久化框架集成等基础功能,将应用逻辑的开发留给开发者;
2. Spring 核心组件
Spring 是一个分层架构,主要由如下 7 大模块所构成。Spring 模块位于核心容器,定义了创建、配置和管理 Bean 的方式。
- Spring Core:提供 Spring 框架基本功能,主要组件是 BeanFactory,是工厂模式的实现,通过 IOC 机制将应用程序的配置和依赖性规范与实际的应用程序代码分开。
- Spring Context:一个配置文件,给 Spring 框架提供上下文信息,上下文包括 JNDI、EJB、电子邮件、国际化、校验和调度等企业服务。
- Spring AOP :通过配置管理特性,Spring AOP 直接将 AOP(面向切面)功能集成到 Spring 框架。从而我们能够十分方便的使用 Spring 框架来管理任何支持 AOP 的对象。模块为基于 Spring 的应用程序中