这里将Spring官网上的各个项目特性汇总一下
Spring Boot
直接嵌入Tomcat,Jetty或Undertow(无需部署WAR文件)提供-starter依赖项以简化构建配置尽可能自动配置Spring和第三方库提供生产就绪功能,例如指标,运行状况检查和外部化配置绝对没有代码生成,也不需要XML配置
Spring Framework
核心技术:依赖注入,事件,资源,i18n,验证,数据绑定,类型转换,SpEL,AOP测试:模拟对象,TestContext框架,Spring MVC测试,WebTestClient数据访问:事务,DAO支持,JDBC,ORM,编组XMLSpring MVC和 Spring WebFlux Web框架集成:远程处理,JMS,JCA,JMX,电子邮件,任务,调度,缓存语言:Kotlin,Groovy,动态语言
Spring Data
强大的存储库和自定义对象映射抽象从存储库方法名称派生动态查询实现域基类提供基本属性支持透明审核(创建,最后更改)可以集成自定义存储库代码通过JavaConfig和自定义XML命名空间轻松实现Spring集成与Spring MVC控制器的高级集成跨存储持久性的实验支持
Spring Cloud
分布式/版本化配置服务注册和发现路由服务到服务电话负载均衡断路器全球锁领导选举和集群国家分布式消息
Spring Cloud Data Flow
Spring Cloud数据流服务器使用Spring Cloud Deployer,将由Spring Cloud Stream或Spring Cloud Task应用程序组成的数据管道部署到现代平台,如Cloud Foundry和Kubernetes针对各种数据集成和处理场景的一系列预构建流和任务/批量启动应用程序有助于学习和实验。可以使用熟悉的Spring Boot样式编程模型构建针对不同中间件或数据服务的自定义流和任务应用程序。简单的流管道DSL可以轻松指定要部署的应用程序以及如何连接输出和输入。当一系列任务应用程序需要作为有向图运行时,组合任务DSL非常有用。该仪表板提供用于构建数据管道交互,以及意见部署的应用程序,并使用普罗米修斯,InfluxDB,或其他监控系统监测的指标他们一个图形编辑器。Spring Cloud Data Flow服务器公开了一个REST API,用于组合和部署数据管道。单独的shell使您可以从命令行轻松使用API。
Spring Security
对身份验证和授权的全面和可扩展的支持防止会话固定,点击劫持,跨站点请求伪造等攻击Servlet API集成可选与Spring Web MVC集成
Spring Session
HttpSession - 允许以应用程序容器(即Tomcat)中立的方式替换HttpSession,支持在头文件中提供会话ID以使用RESTful APIWebSocket - 提供在接收WebSocket消息时保持HttpSession活动的能力WebSession - 允许以应用程序容器中立方式替换Spring WebFlux的WebSession
Spring Integration
实施大多数企业集成模式端点频道(点对点和发布/订阅)聚合过滤变压器控制总线与外部系统集成REST / HTTPFTP / SFTP推特Web服务(SOAP和ReST)TCP / UDPETC.RabbitMQ电子邮件该框架具有广泛的JMX支持将框架组件公开为MBean适配器从MBean获取属性,调用操作,发送/接收通知
Spring HATEOAS
链接,资源表示模型的模型类链接构建器API以创建指向Spring MVC控制器方法的链接支持HAL等超媒体格式
Spring REST Docs
记录RESTful服务;它结合了使用Asciidoctor编写的手写文档和使用Spring MVC Test生成的自动生成的片段。这种方法使您免受Swagger等工具生成的文档的限制
Spring Batch
交易管理基于块的处理声明性I / O.启动/停止/重新启动重试/跳过基于Web的管理界面(Spring Cloud Data Flow)
Spring IO Platform
一个平台,许多工作负载 - 构建Web,集成,批处理,响应或大数据应用程序使用Spring Boot极大地简化了开发体验开箱即用的生产就绪功能精心协调的依赖关系,可以协同工作模块化平台,允许开发人员仅部署他们需要的部件支持嵌入式运行时,经典应用程序服务器和PaaS部署仅取决于Java SE,并支持Groovy,Grails和一些Java EE适用于您现有的依赖管理工具,如Maven和GradleSpring IO平台经过认证可用于JDK 7和8
Spring AMQP
用于异步处理入站消息的侦听器容器RabbitTemplate用于发送和接收消息RabbitAdmin用于自动声明队列,交换和绑定
Spring for Android
适用于Android的Rest客户端Auth支持访问安全API
Spring Cloud Skipper
定义可以部署Spring Boot应用程序的多个平台帐户。支持的平台包括Local,Cloud Foundry和Kubernetes。Mustache模板化文件中的替换变量,描述如何将应用程序部署到平台。搜索现有应用程序的包存储库。基于简单的工作流程安装/升级/回滚软件包。存储已解析模板文件(也称为“应用程序清单”)的历史记录,这些文件表示已部署到特定版本的平台的最终描述。通过独立的交互式shell或通过Web API使用来补充CI工作流。
Spring CredHub
Spring CredHub为在Cloud Foundry平台上运行的CredHub服务器存储,检索和删除凭据提供客户端支持
Spring Flo
使用DSL,图形画布或两者创建,管理和监控流管道通过DSL编写管道,内容辅助和自动完成查看分布式部署中模块的可视化表示在GUI中使用自动调整和网格布局功能,可以更轻松,更有效地组织管道
Spring for Apache Kafka
KafkaTemplateKafkaMessageListenerContainer@KafkaListenerKafkaTransactionManagerspring-kafka-test jar with embedded kafka server
Spring LDAP
ldap: Lightweight Directory Access Protocol,也就是轻量目录访问协议LDAP 的概念与 Spring LDAP 框架使用
Spring Mobile
用于移动设备和平板电脑设备的服务器端检测的设备解析器抽象网站偏好管理,允许用户指示他或她是否更喜欢“正常”,“移动”或“平板电脑”体验一种站点切换器,能够根据用户的设备和可选的站点偏好,将用户切换到最合适的站点(移动设备,平板电脑或普通站点)设备感知视图管理,用于组织和管理特定设备的不同视图
Spring Roo
面向Java开发人员的下一代快速应用程序开发工具。使用Roo,您可以在几分钟内轻松构建完整的Java应用程序
Spring Shell
一个简单的,注释驱动的编程模型,用于提供自定义命令使用Spring Boot自动配置功能作为命令插件策略的基础选项卡完成,着色和脚本执行自定义命令提示符,shell历史文件名,结果和错误的处理基于域特定标准动态启用命令与bean验证API集成已经内置命令,如清晰的屏幕,华丽的帮助,退出ASCII艺术表,带格式,对齐,花式边框等
Spring Statemachine
易于使用的平面单级状态机,用于简单的使用案例。分层状态机结构,以简化复杂的状态配置。状态机区域提供更复杂的状态配置。使用触发器,转换,警卫和操作。键入安全配置适配器。用于在Spring Application上下文之外使用的简单实例化的Builder模式通常用例的食谱基于Zookeeper的分布式状态机状态机事件监听器。UML Eclipse Papyrus建模。将计算机配置存储在永久存储中。Spring IOC集成将bean与状态机关联起来。
Spring Vault
Spring Vault提供熟悉的Spring抽象和客户端支持,用于访问,存储和撤销机密。它提供了与Vault交互的低级和高级抽象,使用户免于基础设施问题
Spring Web Flow
有一个明确的开始和结束点用户必须按特定顺序浏览一组屏幕直到最后一步,更改才会完成一旦完成,就不可能意外地重复交易
Spring Web Services
使最佳实践成为一种简单的实践:Spring Web Services使执行最佳实践变得更加容易。这包括诸如WS-I基本概要,契约优先发展以及合同与实施之间松散耦合等实践强大的映射:您可以将传入的XML请求分发到任何对象,具体取决于消息有效内容,SOAP Action标头或XPath表达式XML API支持:传入的XML消息可以在标准的JAXP API(如DOM,SAX和StAX)中处理,也可以在JDOM,dom4j,XOM甚至编组技术中处理灵活的XML编组:Spring Web Services发行版中的Object / XML Mapping模块支持JAXB 1和2,Castor,XMLBeans,JiBX和XStream。因为它是一个单独的模块,所以您也可以在非Web服务代码中使用它重用您的Spring专业知识:Spring-WS使用Spring应用程序上下文进行所有配置,这应该有助于Spring开发人员快速,快速地获得最佳速度。此外,Spring-WS的体系结构类似于Spring-MVC的体系结构支持WS-Security:WS-Security允许您签署SOAP消息,加密和解密它们,或对它们进行身份验证与Acegi Security集成:Spring Web Services的WS-Security实现提供与Spring Security的集成。这意味着您也可以将现有配置用于SOAP服务由Maven构建:这有助于您在自己的基于Maven的项目中有效地重用Spring Web Services工件Apache许可证。您可以放心地在项目中使用Spring-WS