Springboot是伴随spring4诞生的,除了springboot之外,spring作为企业级应用开发的轻量级解决方案提供了许多子项目;这些子项目可以更好地理解其设计架构、思想并使用spring,spring的整个生态系统包括以下内容。
1. Spring Framework(Core)
Spring的核心项目,其中包含了一系列IoC容器的设计,提供了依赖注入的实现,同时,还集成了AOP,提供了面向切面编程的实现;当然还有MVC、JDBC、事务处理模块的实现。
2. Spring boot
提供了快速构建Spring应用的解决方案,达到“开箱即用”;使用默认的Java配置来实现快速开发,并“即时运行”。
3. Spring Batch
提供构建批处理应用和自动化操作的框架,专门用于离线分析程序、数据批处理等场景。
4. Spring Data
对主流的关系型数据库提供支持,并提供使用非关系型数据库的能力,如将数据存储在非关系型数据库或MapReduce中的分布式存储、云计算存储环境等。
5.Spring Security
通过用户认证、授权、安全服务等工具保护应用,它最先在spring社区中的名字四Acegi框架。
6.Spring Security OAuth
OAuth是一个第三方的模块,提供了一个开放的协议的实现,通过这个协议前端应用可以对Web应用进行简单而标准的安全调用。
7.Spring Web Flow
基于Spring MVC提供Web应用开发。它是Web工作流引擎,定义了一种特定的语言来描述工作流;同时高级的工作流控制器引擎可以管理会话状态。
8.Spring BlazeDS Intergration
提供Spring 与 Adobe Flex 技术集成的模块。
9.Spring Dynamic Modules
提供Spring 运行在OSGi平台上面向Java的动态模型系统,Eclipse就是构建在OSGi平台上的。
10.Spring Intergration
通过消息机制为企业的数据集成提供了解决方案。
11.Spring AMQP
高级消息队列协议( Advanced Message Queuing Protocol),支持Java和.NET两个版本。AMQP是一个提供统一消息服务的应用层标准高级消息队列协议,是一个开放标准,为面向消息的中间件设计,如RabbitMQ等。SpringSource旗下的Rabbit MQ就是一个开源的AMQP的消息服务器,RabbitMQ使用 Erlang语言开发的。
12.Spring .NET
为.NET提供与Spring相关的技术支持,如IoC容器、AOP等。
13.Spring for Android
为Android终端开发应用提供Spring支持
14.Spring Mobile
为移动终端的服务器应用开发提供支持
15.Spring Social
Spring框架的扩展,提供与社交网SNS服务API(如FaceBook、新浪微博和Twitter等)的集成。
16.Spring XD
用来简化大数据应用开发
17.Spring Cloud
为分布式系统开发提供工具集。
18.Spring HATEOAS
基于HATEOAS原则简化REST服务开发。HATEOAS是“超文本驱动”(Hypermedia As The Engine of Application State)的英文缩写,又名“将超媒体作为应用状态的引擎”。
19.Spring Web Services
提供了基于协议有限的SOAP/Web服务。SOAP是简单对象访问协议(Simple Object Access Protocol)的缩写。
20.Spring LDAP
简化使用LDAP开发。LDAP是轻量级目录访问协议(Lightweight Directory Access Protocol)的英文缩写。
21.Spring Session
提供一个API及实现来管理用户会话信息。