Spring起初只专一ioc和aop,如今已发展成一个庞大致系。好比security、mvc等。如此一来,不一样模块或者与外部进行集成时,依赖处理就须要各自对应版本号。好比,较新spring与较老的quartz,它们集成就会遇到问题,给搭建和升级带来不便。
所以Spring IO Platform应运而生,只要项目中引入了它,外部集成时依赖关系无需版本号react
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员再也不须要定义样板化的配置。经过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。android
Java开发最经常使用的版本,整合了一些核心模块,具体以下:web
官方表示是大数据产品Spring XD的升级替代产品,Spring Cloud Data Flow继承了Spring XD的优势,并提供了更有扩展性的解决方案——利用云技术的原生方式。Spring Cloud Data Flow是一个混合计算模型,结合了流数据与批量数据的处理方式。开发者能够经过Spring Cloud Data Flow,在诸如数据获取、实时分析、批处理等常见用例中执行数据流的建立与编排。Spring Cloud Data Flow的目标就是为了方便数据工程师,让他们能专一于分析工做和具体的问题。Spring Cloud Data Flow仅提供了管理服务的模型。spring
Spring Cloud 是Pivotal提供的用于简化分布式系统构建的工具集。Spring Cloud引入了云平台链接器(Cloud Connector)和服务链接器(Service Connector)的概念。云平台链接器是一个接口,须要由云平台提供者进行实现,以便库中的其余模块能够与该云平台协同工做。shell
Spring Data是一个用于简化数据库访问,并支持云服务的开源框架。其主要目标是使得数据库的访问变得方便快捷,并支持map-reduce框架和云计算数据服务。此外,它还支持基于关系型数据库的数据服务,如Oracle RAC等。对于拥有海量数据的项目,能够用Spring Data来简化项目的开发,就如Spring Framework对JDBC、ORM的支持同样,Spring Data会让数据的访问变得更加方便。数据库
Spring integration是一种企业级的事件驱动消息框架,你能够用它协同消息、通道、适配器、网关。express
Spring Batch是一个轻量级的,彻底面向Spring的批处理框架,能够应用于企业级大量的数据处理系统。Spring Batch以POJO和你们熟知的Spring框架为基础,使开发者更容易的访问和利用企业级服务。Spring Batch能够提供大量的,可重复的数据处理功能,包括日志记录/跟踪,事务管理,做业处理统计工做从新启动、跳过,和资源管理等重要功能。apache
安全框架,很少说了,对比产品有apache的shiro框架。api
HATEOAS (Hypermedia as the Engine of Application State) 是 REST 架构风格上的一种限制。基于 HATEOAS 的 REST 服务能够容许服务端和客户端在最大程度上的解耦。客户端和服务端并不须要严格的接口规范。客户端能够经过服务端提供的超媒体表示来动态与服务端进行交互。Spring HATEOAS 与 Spring 框架中已有的 Web 服务功能很好的整合在一块儿,能够建立知足 HATEOAS 要求的 REST 服务。安全
Spring Social 是 Spring 框架中的一个子项目,该项目提供了一个可扩展的框架,容许开发人员很方便地与其余社交网络平台进行集成,同时也提供了流行社交平台的相关 API 支持。
Spring AMQP项目将Spring的核心思想应用于基于AMQP的消息解决方案的开发上。它提供了“template”这个高度抽象来发送和接收信息。它一样提供了消息驱动的实体,这些实体存在于“listener container”容器中。这些库不但使得AMQP资源的管理变得容易,与此同时促进了依赖注入和声明式配置的使用。在全部的状况下,你将看到许多Spring框架提供的相似于JMS的便利。
Spring mobile这个项目比较简单,主要用于识别用户端的访问是来自PC、手机、仍是平板。
Spring For Android是Spring框架的一个扩展,其主要目的在意简化Android本地应用的开发,这其中包括了你能够使用该项目提供的RestTemplate来为你的Android客户端提供REST服务,另外该项目还提供了跟其它诸如Twitter和Facebook等社交网络的集成与OAuth受权客户端等。
刚开始看到这个名字觉得是和Jbpm一个量级的产品,后来发现不太同样,SWF只适合处理复杂页面流程控制逻辑,更倾向于page flow。并且在国内应用貌似不太受重视。
用于开发webserive服务,本人关注的不太多,先挖个坑吧~
Spring ldap主要用于更方便的对ldap进行数据的CURD操做。
Spring session提供了一套企业级的session管理方案,方便构建水平化的应用。
Spring shell提供了一套交互式设计的shell。
大数据处理解决方案。
Spring Flo 是一个 JavaScript 库,是基于 Spring Cloud Data Flow 中的流构建器。
主要用于集成kafka使用。