Spring新框架该学习了

日期:2018-09-05 16:07:46 / 人气:2346

Spring的重要性

从配置到安全,从web应用到大数据——无论您的应用程序需要什么样的基础设施,都有一个Spring项目来帮助您构建它,Spring是模块化的设计。

Spring Boot

简化新Spring应用的初始搭建以及开发过程,使用特定的方式进行配置,使开发人员不再需要定义样板化的配置,实现快速开发。

Spring Cloud

为分布式系统开发提供工具集,基于Spring Boot,为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、控制总线、全局锁、决策竞选、分布式会话、集群状态管理等操作提供了一种简单的开发方式,其下有很多子项目。

  • 分布式/版本化配置:Spring Cloud Config
  • 服务注册和发现:Netflix Eureka 或者 Spring Cloud Eureka(对前者的二次封装)
  • 路由:Spring Cloud Zuul,基于 Netflix Zuul
  • service - to - service调用:Spring Cloud Feign
  • 负载均衡:Spring Cloud Ribbon 基于 Netflix Ribbon 实现
  • 断路器:Spring Cloud Hystrix
  • 分布式消息传递:Spring Cloud Bus
Spring Cloud Data Flow

Data flow 是一个用于开发和执行大范围数据处理、批量运算、持续运算的统一编程模型和托管服务。

Spring Cloud Data Flow 是基于原生云对Spring XD的重新设计,项目目标是简化大数据应用的开发。Spring XD的流处理和批处理模块的重构分别基于spring boot的stream和task/batch的微服务程序。这些程序原生的支持像 Apache YARN、Apache Mesos和Kubernetes等现代运行环境,都是自动部署单元。

Spring Data

数据访问模块,提供了对JDBC及ORM很好的支持,随着NOSQL和BigData的兴起,出现了越来越多的新技术,比如非关系型数据库、MapReduce框架,为了让spring开发者能更方便地使用这些新技术,通过Spring Data,开发者可以用Spring提供的相对一致的方式访问位于不同类型的数据存储中的数据。

Spring新框架该学习了


Spring Integration

在企业软件开发过程中,经常会遇到与外部系统集成,Spring Integration为Spring编程模型提供了一个支持企业集成模式的扩展,在应用程序中提供轻量级的消息机制,通过声明式的适配器与外部系统进行集成。

Spring Integraton中有几个基本的概念:

  • Message:带有元数据的Java对象;
  • Channel:传递消息的管道;
  • Message Endpoint:消息的处理端,在处理端可以对消息进行转换、路由、过滤、拆分、聚合等操作;

还可以使用Channel Adapter,这是应用程序与外界交互的地方,输入是Inbound、输出则是Outbound,可选的连接类型有很多,比如AMQP、JDBC、Web Services、FTP、JMS、XMPP、多种NoSQL数据库等等。只需通过简单的配置文件就能将所有这些东西串联在一起,实现复杂的集成工作。

Spring Batch

简化及优化大量数据的批处理操作,支持事务、并发、流程、监控、纵向和横向扩展,提供统一的接口管理和任务管理。

例如它提供了很多方法来读取大型的文件(比如1GB的CSV、XML文件),在数据库中加载或更新几万甚至几十万条记录,如果直接select出所有记录,以至于拖垮整个系统,而使用了Spring Batch,框架会帮助他每次捞取一部分记录进行分页,在更新时分批进行提交。

Spring Security

一款Spring的认证和安全工具。其前身是Acegi,目标是为Spring应用提供一个安全服务,比如用户认证、授权等。

它使用Servlet规范中的Filter保护Web请求并限制URL级别的访问,还能够使用Spring AOP保护方法调用——借助于对象代理和使用通知,能够确保只有具备适当权限的用户才能访问安全保护的方法。

它非常灵活,能够基于各种数据存储来认证用户。它内置了多种常见的用户存储场景,如内存、关系型数据库以及LDAP,还可以编写并插入自定义的用户存储实现。

Spring HATEOAS

先来理解HATEOAS:大家都听过过REST,它的定位为「分布式超媒体应用」的架构风格,文中提到了HATEOAS(Hypermedia as the engine of application state)的概念,超媒体即应用状态引擎,即返回结果中提供链接,连向其他API方法,使得用户不查文档,也知道下一步应该做什么。

为了简化签入或获取超链接等操作,Spring HATEOAS提供了相关的支持。

Spring Rest DOCS

可以生成准确可读的RESTful Service文档,Spring 官方文档都是用Spring REST Docs生成的。

基于单元测试生成文档片段,不会侵入到源码中,所以就不会使得源码变得越来越臃肿,支持markdown,修改一行配置代码即可支持生成 MarkDown 语法的文档片段。

默认的,在构建的时候,会首先运行单元测试,便生成了文档片段,然后在打包时,通过添加 asciidoctor-maven-plugin 插件即可生成最终的文档,只要是规范的开发过程,文档都会随版本的每次发布而自动更新。

Spring Social

使用 Spring Social 的最大好处在于它已经提供了对主流社交网站的支持,只需要简单配置即可,对于一些不太常用的社交网站,也可以从社区中找到相应的组件。

Spring AMQP

基于Spring框架的AMQP消息解决方案,提供模板化的发送和接收消息的抽象层,提供基于消息驱动的POJO,使在Spring应用中使用AMQP消息服务器变得更为简单,SpringSource旗下的Rabbit MQ就是一个开源的基于AMQP的消息服务器。

Spring Web Flow

Spring Web Flow是Spring MVC 的扩展,它支持开发基于流程的应用程序。它将流程的定义与实现流程行为的类和视图分离开来,具有同时处理多个HTTP请求、管理会话状态、数据事务处理,支持AJAX来构建丰富的客户端体验,并且提供对JSF的支持。

Spring LDAP

Spring LDAP是一个用于操作LDAP的Java框架。它是基于Spring的JdbcTemplate模式,能够帮助开发人员简化操作。

Spring Session

Spring Session提供了一套创建和管理Servlet HttpSession的方案。Spring Session提供了集群Session功能,默认采用外置的Redis来存储Session数据,以此来解决Session共享的问题。

Spring Shell

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

Spring Kafka

spring for kafka对原生的kafka client consumer的封装与集成。

Spring Statemachine

它的主要功能是帮助开发者简化状态机的开发过程,让状态机结构更加层次化。

Spring IO Platform

可以认为是一个依赖维护平台,该平台将相关依赖汇聚到一起,针对每个依赖,都提供了一个版本号。

作者:admin


现在致电 0371-69506331 OR 查看更多联系方式 →

COPYRIGHT © 2017 版权所有 豫ICP备12024037号-1