Spring的设计理念和整体架构
Posted winddogg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring的设计理念和整体架构相关的知识,希望对你有一定的参考价值。
1.Spring的各个子项目
- Spring Framework(Core):这是我们熟知的Spring项目的核心。Spring Framework(Core)中包含了一系列Ioc容器的设计,提供了依赖反转模式的实现;同时,还集成了AOP功能;另外,在Spring Framework(Core)中,还包含了其他Spring的基本模块,比如MVC、JDBC、事务处理模块的实现。
- Spring Web Flow:原先的Spring Web Flow是一个建立在Spring MVC基础上的Web工作流引擎。随着其自身项目的发展,Web Flow比原来更丰富,Spring Web Flow定义了一种特定的语言来描述工作流,同时高级的工作流控制器引擎可以管理会话状态,支持AJAX来构建丰富的客户端体验,并且提供对JSF的支持。Spring Web Flow 实际上是构建在Spring MVC基础之上的四相对于Spring Framework(Core)独立发展的。
- Spring BlazeDS Integration:这是一个提供Spring与Adobe Flex技术集成的模块
- Spring Security:是广泛使用的基于Spring的认证与安全工具,其目标是为Spring应用提供一个安全服务,比如用户认证、授权等。
- Spring Security OAuth:这个项目为OAuth在Spring上的集成提供支持。OAuth是一个第三方的模块,提供一个开放的协议的实现,通过这个协议,前端桌面应用可以对Web应用进行简单而标准的安全调用。
- Spring Dynamic Modules:可以让Spring应用运行在OSGI的平台上。我们知道,通过使用OSGi平台,增加了应用在部署和应用时的灵活性,Eclipse就是构建在OSGi的平台上,通过这个项目,可以再OSGi平台上方便地运行Spring应用。
- Spring Batch:提供构建批处理应用和自动化操作的框架,这些应用的特点是不需要与用户交互,重复的操作量大,对于大容量的批处理而言,这些操作往往要求较高的可靠性。
- Spring Integration:体现了“企业集成模式”的具体实现,并为企业的数据集成提供解决方案。Spring Integration为企业数据集成提供了各种适配器,通过这些适配器来转换各种消息格式,并帮助Spring应用完成与企业应用系统的集成。
- Spring AMQP:是为Spring应用更好的使用基于AMQP(高级消息队列协议)的消息服务儿开发的,是在Spring应用长使用AMQP消息服务器变得更为简单。这个项目支持Java和.net两个版本。SpringSource旗下的RabbitMQ就是一个开源的基于AMQP的消息服务器,Rabbit MQ是用Erlang语言开发出来的。
- Spring .net
- Spring android
- Spring Mobile
- Spring Social:是Spring框架的扩展,可以帮助Spring应用更方便的使用SNS
- Spring Data:该项目为Spring应用提供使用关系型数据的能力,比如,当基础数据并非存储在关系型数据库中是,有如Map-Reduce中的分布式存储、云计算存储环境等。Spring应用可以考虑使用Spring Data来操作这种类型的数据。
2.Spring的设计目标
以上是关于Spring的设计理念和整体架构的主要内容,如果未能解决你的问题,请参考以下文章