Spring 框架
Spring 框架概念
- Spring 是众多开源 java 项目中的一员,基于分层的JavaEE应用一站式轻量级开源框架,主要核心是IOC(控制反转\依赖注入)与AOP(面向切面)两大技术,实现项目在开发过程中的轻松解耦,提高项目开发效率。
- 在项目引入Spring 立即可以带来下面的好处:降低组件之间的耦合度,实现软件各层之间的解耦。可以使用容器提供众多服务,如:事务管理服务、消息服务等等。当我们使用容器管理事务时,开发人员就不再需要手工控制事务,也不需要处理复杂的事务传播。容器提供单例模式支持,开发人员不再需要自己编写实现代码。容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能。
Spring 源码架构
- Spring 总共大约有20个模块,由1300多个不同的文件构成。而这些组件被分别整合在核心容器
(Core Container)、Aop(Aspect Oriented Programming)和设备支持(Instrmentation)、数据访问及集成(Data Access/Integeration)、Web、报文发送(Messaging)、测试6个模块集合中。
- 核心容器:Spring-beans 和 Spring-core 模块是 Spring 框架的核心模块,包含控制反(Inversion of Control, IoC)和依赖注入(Dependency Injection, DI),核心容器提供 Spring 框
架的基本功能。核心容器的主要组件是 BeanFactory,工厂模式的实现。BeanFactory 使用控制
反转(IOC) 思想将应用程序的配置和依赖性规范与实际的应用程序代码分开。
- Spring 上下文Spring Context:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。
- Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
Spring-Expression 模块是统一表达式语言(unified EL)的扩展模块,可以查询、管理运行中的
对象,同时也方便的可以调用对象方法、操作数组、集合等。它的语法类似于传统EL,但提供了
额外的功能,最出色的要数函数调用和简单字符串的模板函数。