菜鸟在Spring的路上前行–Spring 简介

一、Spring简介

Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。

Spring可以帮助开发团队都建立简单、便携, 快速和灵活的基于JVM的系统和应用程序。

二、Spring旗下的主要项目

Spring官网:https://spring.io/

Spring原官网:http://www.springsource.org

Spring子项目列表:https://spring.io/projects

我们来看看Spring的子项目,如下:

 

(1)图文解释:

(2)文字解释:

主要的项目

项目一:Spring IO platform

Spring IO 是可集成的,构建现代化应用的版本平台。

Spring IO 是模块化的,企业级的分布式系统,包括了一系列的依赖,使得开发者仅能对自己所需的部分进行完全的部署控制。Spring IO 是 100% 开源,可靠和模块化的。

 

项目二 :Spring Boot

该框架是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。

该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

 

项目三 :Spring Framework

该框架是一款基于Java、轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。另外,在Spring Framework (Core)中,还包含了其他Spring的基本模块,比如MVC、JDBC、事务处理模块的实现。

 

项目四 Spring Cloud Data Flow

一款可自由组合的云原生微服务,用于收集、转化、存储和分析数据。允许开发人员构建实时批处理应用程序,使用同样简单而强大的模型作为他们的Spring Boot RESTful微服务,并在Pivotal Cloud Foundry的结构平台上运行。

 

项目五:Spring Cloud

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

 

项目六:Spring Data

该框架在数据访问模块对JDBC及ORM提供了很好的支持,随着NoSQL和BigData的兴起,出现了越来越多的新技术,比如非关系型数据库、MapReduce框架, Spring Data 正是为了让Spring开发者能更方便地使用这些新技术而诞生的“大”项目——它由一系列小的项目组成,分别为不同的技术提供支持,例如Spring Data JPA、Sprng Data Hadoop、Spring Data MongoDB、Spring Data Redis等等。通过Spring Data,开发者可以用Spring提供的相对一致的方式来访问位于不同类型的数据存储中的数据。

Spring DataSpring应用提供使用非关系型数据的能力。例如,当基础数据并非存储在关系数据库中,或者Map-Reduce中的分布式存储、云计算存储环境等。Spring应用可以考虑使用Spring Data来操作这些类型的数据。

 

项目七: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应用提供一个安全服务,比如用户认证、授权等。

 

项目十:Spring HATEOAS

一个用于支持实现超文本驱动的 REST Web 服务的开发库。是 HATEOAS 的实现。

 

项目十一:Spring Social

Spring框架的扩展,可以帮助Spring应用更方便地使用SNSSocial Network Service),如FaceBookTwitter服务的使用等。

 

项目十二:Spring AMQP

该框架为Spring应用更好地使用基于AMQP(高级消息队列协议)的消息服务而开发的,使在Spring应用中使用AMQP消息服务器变得更为简单。

SpringSource旗下的Rabbit MQ就是一个开源的基于AMQP的消息服务器,Rabbit MQ是用Erlang语言开发出来的。

 

项目十三:Spring Mobile

Spring MobileSpring Android不同的是,它能使工作在Spring传统的服务器端完成。它是基于Spring MVC构建的,为移动终端的服务器应用开发提供支持。比如可以在服务器端自动识别连接到服务器的移动终端的相关设备信息,从而为特定的移动终端实现应用定制。

 

项目十四:Spring for Android

为安卓终端开发应用提供Spring支持,它提供了一个在Android应用环境中工作,基于JavaREST客户端。

 

项目十五:Spring Web Flow

原先的Spring Web Flow是一个建立在Spring MVC基础上的Web工作流引擎。随着其自身项目的发展,Web Flow比原来更为丰富,Spring Web Flow定义了一种特定的语言描述工作流。同时,高级的工作流控制器引擎具有可以同时处理多个HTTP请求、管理会话状态、数据事务处理,支持AJAX来勾践丰富的客户端体验,并且提供对JSF的支持。

 

项目十六:Spring Web Services

# Spring Web Services(Spring WS)框架是springframework东家SpringSource公司旗下的一个子项目。

Spring Web Services是基于 Spring 框架的 Web 服务框架,主要侧重于基于文档驱动的Web服务,提供 SOAP 服务开发,允许通过多种方式创建 Web 服务。

 

项目十七:Spring LDAP

Spring LDAP 是一个用于操作 LDAP 的 Java 框架。它是基于 Spring 的 JdbcTemplate  模式。这个框架能够帮助开发人员简化 looking up,closing contexts,looping through  NamingEnumerations,encoding/decoding values与 filters 等操作。

 

项目十八:Spring Session

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

 

项目十九:Spring Shell

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

 

项目二十:Spring XD

Spring XD简介:大数据应用的运行时环境

Spring XD(eXtreme Data,极限数据)是Pivotal的大数据产品。它结合了Spring Boot和Grails,组成Spring IO平台的执行部分。尽管Spring XD利用了大量现存的Spring项目,但它是一种运行时环境,而不是一个类库或者框架,它包含带有服务器的bin目录,你可以通过命令行启动并与之交互。运行时可以运行在开发机上、客户端自己的服务器上、AWS EC2上或者Cloud Foundry上。

 

其他项目

项目二十一:Spring Roo

Spring Roo,是SpringSource新的开放源码技术,是创建Spring工程的小工具,通过一些命令可以快捷的建立Spring的项目,可以选择性的增加Spring的大部分特性。

 

项目二十二:Spring Scala

Spring Scala 项目是Spring团队提供的,为了简化在 Scala 应用中使用 Spring 框架。

 

参考文章:

【1】那些你该了解的Spring子项目

 

 

 

 






如果您认为本教程质量不错,读后觉得收获很大,预期工资能蹭蹭蹭的往上涨,那么不妨小额赞助我一下,让我有动力继续写出高质量的教程。

发布者

souvc

souvc

搜你所想,投你所好。

《菜鸟在Spring的路上前行–Spring 简介》有21个想法

  1. Pingback: DMPK Services
  2. Pingback: Bdsm
  3. Pingback: adme services
  4. Pingback: iraq political & Law
  5. Pingback: cpns 2018 guru pai
  6. Pingback: www.menpan.go.id 2018
  7. Pingback: Yusuf kısa
  8. Pingback: guaranteedppc.com
  9. Pingback: pendaftaran cpns 2018
  10. Pingback: cmovieshd
  11. Pingback: colarts
  12. Pingback: C++ Tutorial

发表评论