Spring 学习笔记(一)——Spring 基本概念和体系概览
Spring 简介
Spring 为企业级开发提供了一个轻量级的解决方案,主要包含
- 基于依赖注入核心功能;
- 声明式的面向切面编程(AOP)支持;
- 与多种持久层技术的整合;
- 独立的Web MVC框架
简而言之,Spring 是一个轻量级的IoC(控制反转)和AOP(面向切面)的容器框架。
- 控制反转:Spring通过一种被称作控制反转的技术促进了松耦合。
即一个对象依赖的其他对象会通过被动的方式传递进来,而不是这个对象自己创建或查找依赖对象。
- 面向切面:允许通过分离应用的业务逻辑与系统及服务进行内聚性的开发。
- 容器:Spring包含并管理应用对象的配置和声明周期,在这个意义上Spring只是一种容器,开发者可以配置自己的每个Bean
可以创建一个单独的实例或者每次需要时都生成一个新的实例,以及配置这些Bean之间时如何相互关联的。
Spring 体系结构
关于Spring框架各模块介绍如下:
(1)Spring核心模块
实现了IoC功能,将类和类之间的依赖从代码中脱离出来,用配置的方式进行依赖关系描述,由IoC容器负责依赖类之间的创建、拼接、管理、获取等工作。
BeanFactory接口时Spring框架的核心接口,实现了容器的许多核心功能。
Context模块构建于核心模块之上,扩展 了BeanFactory的功能,添加了il8n国际化、Bean生命周期控制、框架事件体系、资源加载透明化等多项功能。
表达式语言是统一表达式语言(unified EL)的一个拓展,用于查询和管理运行期的对象。
(2)AOP模块
在该模块中,Spring提供了满足AOP Alliance规范的实现,还整合了AspectJ这种AOP语言级框架。
<Java 5.0引入java.lang.instrument,允许在JVM启动时启用一个代理类,通过该代理类在运行期间修改类的字节码,改变一个类的功能,实现AOP的功能>
(3)数据访问和集成模块
Spring在DAO的抽象层面,建立了一套面向DAO层统一的异常体系。
同时将各种访问数据的检查型异常转化为非检查型异常,为整合各种持久层框架提供基础。
Spring建立起了和数据形式以及访问技术无关的统一的DAO层,借助AOP技术,Spring提供了声明式事务的功能。
(4)Web及远程操作模块
该模块建立在Application Context模块智商,提供了Web应用的各种工具类。
如:通过Listener或Servlet初始化Spring容器,将Spring容器注册到Web容器中。
其次该模块还提供了多项面向WEB的功能,如透明化文件上传、Velocity、FreeMarker、XSLT的支持。
(5)Web及远程访问框架
Spring自己提供了一个完整的类似于Strust的MVC框架,成为Spring MVC。
并针对每个功能模块,Spring框架都提供了独立的jar文件,这可以方便开发者有选择地使用Spring提供的功能。
作者:Rekent
出处:http://www.cnblogs.com/rekent/
本文版权归作者和博客园共有,欢迎转载、点赞,但未经作者同意必须保留此段申明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。