Spring子项目了解

1.Spring IO Platform

Spring IO 是可集成的,构建现代化应用的版本平台。Spring IO 是模块化的,企业级的分布式系统,包括了一系列的依赖,使得开发者仅能对自己所需的部分进行完全的部署控制。Spring IO 是 100% 开源,可靠和模块化的。
主要特性:
一个平台,多个工作负载 - Web 构建,集成,批处理,响应式或者大数据应用
极致简化 Spring Boot 的开发经验
提供开箱即用的生产特性
模块化平台,允许开发者只部署他们需要的那部分
支持嵌入式运行时,传统应用服务器和 PaaS 部署
仅仅依赖 Java SE,支持 Groovy, Grails 和一部分 Java EE
可以结合现有的依赖系统运行(Maven 和 Gradle)
支持 JDK 7 和 8*

2.Spring Boot

Spring 应用快速开发工具,用来简化Spring应用开发过程
该项目旨在帮助开发者更容易地创建基于Spring的应用程序和服务,使得现有的和新的Spring开发者能够最快速地获得所需要的Spring功能。
Spring Boot项目的主要目标如下:
为所有的Spring开发工作提供一个更快、更广泛的入门经验
开箱即用,你也可以通过修改默认值来快速满足你的项目的需求
提供了一系列大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等
Spring Boot不生成代码,且完全不需要XML配置。

3.Spring XD

是一种运行时环境(服务器软件,非开发框架),组合spring技术,如spring batch、spring boot、spring data,采集大数据并处理。
Pivotal的大数据产品。它结合了Spring boot和Grails,组成Spring IO平台的执行部分
Pivotal最近发布了Spring XD 1.1 GA新功能包括使用Reactor、RxJava、SparkStreaming和Python进行流处理。此外,支持Kafka、批量处理和RabbitMQ压缩, 以及支持运行在YARN上的容器组管理的功能。Spring XD项目为开发者提供了应用示例超过25个。

4.Spring Cloud

Spring Cloud 为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性 Token、全局锁、决策竞选、分布式会话和集群状态)操作的开发工具。使用 Spring Cloud 开发者可以快速实现上述这些模式。

5.Spring Data

Spring Data 项目的目的是为了简化构建基于 Spring 框架应用的数据访问实现,包括非关系数据库、Map-Reduce 框架、云数据服务等等;另外,也包含对关系数据库的访问支持。
Spring Data 包含多个子项目:
Commons - 提供共享的基础框架,适合各个子项目使用,支持跨数据库持久化。
Hadoop - 基于 Spring 的 hadoop 作业配置和一个 POJO 编程模型的 MapReduce 作业。
Key-Value - 集成了 Redis 和 Riak ,提供多个常用场景下的简单封装。
Document - 集成文档数据库:CouchDB 和 MongoDB 并提供基本的配置映射和资料库支持。
Graph - 集成 Neo4j 提供强大的基于 POJO 的编程模型。
Graph Roo AddOn - Roo support for Neo4j。
JDBC Extensions - 支持 Oracle RAD、高级队列和高级数据类型。
JPA - 简化创建 JPA 数据访问层和跨存储的持久层功能。
Mapping - 基于 Grails 的提供对象映射框架,支持不同的数据库。
Examples - 示例程序、文档和图数据库。
Guidance - 高级文档。
Spring Data项目旨在为大家提供一种通用的编码模式,统一我们的API,能够让开发人员更方便的去操作这些nosql

6.Spring Integration http://projects.spring.io/spring-integration/

Spring Integration是Spring项目中秉承其相同目标和原则的新成员。它扩展了Spring的编程模型到消息领域,在Spring已经存在的企业集成支持的基础上,提供了更高级别的抽象。它将控制反转添加到关注点,支持消息驱动架构,例如当特定业务逻辑应该执行时,响应也应该被发送。它支持路由和消息转换,所以不同的传输协议和不同的数据格式能在不影响易测试性的前提下被集成。换句话说,消息和集成关注点都被框架处理,所以业务组件能更好地与基础设施隔离,从而降低开发者所要面对的复杂的集成职责。
Spring Integration 为企业数据集成提供了各种适配器,可以通过这些适配器来转换各种消息格式,并帮助Spring应用完成与企业应用系统的集成
Spring Integration主要有如下两个目标:
l 提供一个简单的模型来实现复杂的企业集成解决方案
l 为基于Spring的应用添加异步的、消息驱动的行为
l 让Spring用户可以直观的、增量的采用
Spring Integration基于两个原则:
l 组件应该松耦合,方便模型化和易测试
l 框架应该强制业务逻辑和集成逻辑的关注点分离
l 扩展点本质上应该是抽象的,而且限定在一个清晰的边界内,来促进可重用性和可移植性。

7.Spring Batch http://projects.spring.io/spring-batch/

Spring Batch 是一个轻量级的、完善的,开源的大数据量并行处理框架,旨在帮助企业建立轻量级的、健壮的并⾏处理应用,支 持事务、并发、流程、监控、纵向和横向扩展,提供统⼀的接口管理和任务管理。Spring Batch更多地关注于大规模的批处理任务,例如,它提供了很多方法来读取大型的文件(比如1GB的CSV、XML文件),在数据库中加载或更新几万甚至几十万条记录。试想,一个对大规模批处理并不熟悉的开发者很可能会直接select出所有记录,以至于拖垮整个系统,而使用了Spring Batch,框架会帮助他每次捞取一部分记录进行分页,在更新时分批进行提交……(这些应用的特点是不需要与用户交互,重复的操作量大,对于大容量的批理数据处理而言,这些操作往往要求较高的可靠性)

8.Spring Security http://projects.spring.io/spring-security/

Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。

9.Spring Hateoas http://projects.spring.io/spring-hateoas/

Spring-Hateoas是一个用于支持实现超文本驱动的 REST Web 服务的开发库。是 HATEOAS 的实现。HATEOAS(Hypermedia as the engine of application state)是 REST 架构风格中最复杂的约束,也是构建成熟 REST 服务的核心。它的重要性在于打破了客户端和服务器之间严格的契约,使得客户端可以更加智能和自适应,而 REST 服务本身的演化和更新也变得更加容易。

10.Spring Social http://projects.spring.io/spring-social/

Spring Social 是 Spring 框架的扩展,用来方便开发Web社交应用程序,可通过该项目来创建与各种社交网站的交互,例如 Twitter、Facebook、LinkedIn 和 TripIt 等。
Spring Social 提供了处理第三方网站用户登录和注册的 Spring MVC 控制器(Controller)的实现,可以自动完成使用社交网络账号登录和注册的功能。
Spring Social 包括:
一组社交应用模板用于与 Twitter, Facebook, LinkedIn, TripIt, and Greenhouse 进行交互.
一个支持 OAuth 的请求工厂类,使得 RestTemplate 请求支持 OAuth 认证,封装了 OAuth认证细节
一个Web参数解析器用来获取Facebook的User标识并在Spring的MVC控制器中获取访问的令牌

11.Spring AMQP http://projects.spring.io/spring-amqp/

Spring AMQP 是基于 Spring 框架的AMQP消息解决方案,提供模板化的发送和接收消息的抽象层,提供基于消息驱动的 POJO的消息监听等。这个项目支持Java和.NET两个版本。Spring Source旗下的Rabbit MQ(Erlang语言开发)就是一个开源的基于AMQP的消息服务器 。 很大方便我们使用RabbitMQ程序的相关开发。

12.Spring mobile http://projects.spring.io/spring-mobile/

Spring Mobile 是 Spring MVC 的扩展,用于支持移动浏览的小框架,用起来很简单,和spring mvc结合也很方便。自动识别访问的是浏览器,还是手机,还是平板,显示不同的效果,用来简化手机上的Web应用开发,从而为特定的移动终端实现应用定制。

13.Spring for Android http://projects.spring.io/spring-android/

Spring for Android为Android终端开发应用提供Spring的支持,用于简化Android原生应用程序开发的Spring扩展。它提供了一个在Android应用环境中工作、基于Java的REST客户端
Spring for Android能为我们Android开发者带来什么?
  一,REST客户端调用模板。你的android不可能不与服务端交互吧?如果你的服务端提供的是现在广为流行的REST服务,那么,使用Spring-android,你将体会到什么叫方便!你将体会到JavaEE开发者为什么如此钟情于SpringSource!
  二,JSON解析。对上刚才提到的REST服务,客户端与服务端的数据交换格式基本上都会采用JSON。OK,如果你的服务端提供的是REST服务,并且客户端与服务端的数据交互格式采用的是JSON,那么,强烈建议你使用spring-android。
  三 ,社会化的一个服务。像Twitter与Facebook的一个开放API与服务。
  

14.spring Web Flow http://projects.spring.io/spring-webflow/

Spring Web Flow(SWF)是著名的Spring框架的子项目。一个建立在Spring MVC基础上的Web页面流引擎。随着其自身项目的发展,Web Flow比原来更为丰富,SWF定义了一种特定的语言来描述页面流。其目标是成为管理Web应用页面流程的最佳方案,当你的应用需要复杂的导航控制,如向导,在一个比较大的事务过程中指导用户经过一连串的步骤的时候,SWF是一个很好的解决方案框架。它解决了困扰Web应用程序开发人员的3个主要问题.即用户界面导航的控制、状态管理和模块化,极大地提高了生产效率,尤其适合需要复杂用户交互界面的Web应用程序。此外,它还借鉴了UML状态图思想的流定义方式,使得Web流的开发更加自然。
Spring WebFlow的关注点的层次比Sping MVC 或者是 Structs 更高。不只是关注于如何e构建Web界面,更加关注于流程,也就是Flow。

15.Spring Web Services http://projects.spring.io/spring-ws/

Spring Web Service (Spring WS)是基于Spring框架的Web服务框架,旨在促进首次合同服务开发,允许使用许多方式来操作XML有效负载来创建灵活的Web服务。该产品基于Spring本身,这意味着您可以使用Spring概念(如依赖注入)作为Web服务的组成部分。主要侧重于基于文档驱动的Web服务,提供了完美的对SOAP协议的支持,对wsdl文档 的契约优先方式 对安全权限方式提供了完美的支持

16.Spring Session http://projects.spring.io/spring-session/

Spring Session致力于提供一个公共基础设施回话, 提供了一套创建和管理Servlet HttpSession的方案。支持从任意环境中访问一个回话。在Web环境下支持独立于容器的集群会话,支持可插拔策略来确定Session ID,WebSocket活跃的时候可以简单地保持HttpSession 。Spring Session提供了集群Session(Clustered Sessions)功能,默认采用外置的Redis来存储Session数据,以此来解决Session共享的问题。对于分布式系统的去session,session集中管理,热部署具有一定的借鉴意义。

17.Spring Shell

Spring Shell 提供交互式的 Shell 可让你使用简单的基于 Spring 的编程模型来开发命令。

18.Spring LDAP

Spring LDAP是基于Spring的JdbcTemplate模式简化LDAP操作的Java库。类似于Sping JDBC提供了JdbcTemplate方式来操作数据库。这个框架提供了一个LdapTemplater操作模板,可帮助开发人员简化lookingup、closing contexts、encoding/decoding values、filters等操作。该框架可以缓解用户的常见问题,例如查找和关闭上下文,循环结果,编码/解码值和过滤器等。

19.Spring Dynamic Modules

Spring Dynamic Modules 的前身是 Spring OSGi。
Spring Dynamic Modules,让写Spring应用可以部署在一个的OSGi执行环境,而且还可以充分利用所提供的服务的OSGi框架。 Spring的支持也使的OSGi开发的OSGi应用更简单和更富有成效的基础上,易用性和力量的Spring框架。

20.Spring Roo

Spring Roo 是SpringSource新的开放源码技术,该技术主要面向企业中的Java开发者,使之更富有成效和愉快的进行开发工作,而不会牺牲工程完整或灵活性。无论你是一个新的Java开发人员或经验丰富的架构师,Spring Roo 都可以在短短几分钟内构建一个全面的工作应用。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值