spring模块功能简介

Spring Portfolio

当谈论Spring时,其实它远远超出我们的想象。事实上,Spring远不是Spring框架所下载的那些。如果仅仅停留在核心的Spring框架层面,我 们将错过Spring Portfolio所提供的巨额财富。整个Spring Portfolio包括多个构建于核心Spring框架之上的框架和类库。概括地讲,整个Spring Portfolio几乎为每一个领域的Java开发都提供了Spring编程模型。 或许需要几卷书才能覆盖Spring Portfolio所提供的所有内容,这也远远超出了本书的范围。不过,我们会介绍Spring Portfolio中的一些项目, 同样,我们将体验一下核心框架之外的另一番风景。

Spring Web Flow(可以想一下购物车或者向导功能)

Spring Web Flow建立于Spring MVC框架之上,它为基于流程的会话式Web应用(可以想一下购物车或者向导功能)提供了支持。我们将在第 8章讨论更多关于Spring Web Flow的内容,你还可以访问Spring Web Flow的主页(http://projects.spring.io/spring-webflow/)。

Spring Web Service

虽然核心的Spring框架提供了将Spring bean以声明的方式发布为Web Service的功能,但是这些服务是基于一个具有争议性的架构(拙劣的契 约后置模型)之上而构建的。这些服务的契约由bean的接口来决定。 Spring Web Service提供了契约优先的Web Service模型,服务的实现都 是为了满足服务的契约而编写的。

本书不会再探讨Spring Web Service,但是你可以浏览站点http://docs.spring.io/spring- ws/site/来了解更多关于Spring Web Service的信息。

Spring Security( 安全对于许多应用都是一个非常关键的切面)

安全对于许多应用都是一个非常关键的切面。利用Spring AOP,Spring Security为Spring应用提供了声明式的安全机制。你将会在第9章看到如 何为应用的Web层添加Spring Security功能。同时,我们还会在第14章重新回到Spring Security的话题,学习如何保护方法调用。你可以在主 页http://projects.spring.io/spring-security/上获得关于Spring Security的更多信息。

Spring Integration (许多企业级应用都需要与其他应用进行交互)

许多企业级应用都需要与其他应用进行交互。Spring Integration提供了多种通用应用集成模式的Spring声明式风格实现。 我们不会在本书覆盖Spring Integration的内容,但是如果你想了解更多关于Spring Integration的信息,我推荐Mark Fisher、Jonas Partner、 Marius Bogoevici和Iwein Fuld编写的《Spring Integration in Action》(Manning,2012,www.manning.com/fisher/);或者你还可以访问Spring Integration的主页http://projects.spring.io/spring-integration/。

Spring Batch(当我们需要对数据进行大量操作时)

当我们需要对数据进行大量操作时,没有任何技术可以比批处理更胜任这种场景。如果需要开发一个批处理应用,你可以通过Spring Batch, 使用Spring强大的面向POJO的编程模型。 Spring Batch超出了本书的范畴,但是你可以阅读Arnaud Cogoluegnes、Thierry Templier、GaryGregory和Olivier Bazoud编写的《Spring Batch in Action》(Manning,2012,www.manning.com/templier/),或者访问Spring Batch的主页http://projects.spring.io/ spring-batch/。

Spring Data Spring Data(使用任何数据库都变得非常容易)

使得在Spring中使用任何数据库都变得非常容易。尽管关系型数据库统治企业级应用多年,但是现代化的应用正在认识到并不是所 有的数据都适合放在一张表中的行和列中。一种新的数据库种类,通常被称之为NoSQL数据库[2],提供了使用数据的新方法,这些方法会比传 统的关系型数据库更为合适。 不管你使用文档数据库,如MongoDB,图数据库,如Neo4j,还是传统的关系型数据库,Spring Data都为持久化提供了一种简单的编程模型。 这包括为多种数据库类型提供了一种自动化的Repository机制,它负责为你创建Repository的实现。 我们将会在第11章看到如何使用Spring Data简化Java Persistence API(JPA)开发,然后在第12章,将相关的讨论拓展至几种NoSQL数据 库。

Spring Social(社交网络是互联网领域)

社交网络是互联网领域中新兴的一种潮流,越来越多的应用正在融入社交网络网站,例如Facebook或者Twitter。如果对此感兴趣,你可以了解 一下Spring Social,这是Spring的一个社交网络扩展模块。 不过,Spring Social并不仅仅是tweet和好友。尽管名字是这样,但Spring Social更多的是关注连接(connect),而不是社交(social)。它能 够帮助你通过REST API连接Spring应用,其中有些Spring应用可能原本并没有任何社交方面的功能目标。 限于篇幅,我们在本书中不会涉及Spring Social。但是,如果你对Spring如何帮助你连接Facebook或Twitter感兴趣的话,可以查看网 址https://spring.io/guides/gs/accessing- facebook/和https://spring.io/guides/gs/accessing-twitter/中的入门指南。

Spring Mobile

移动应用是另一个引人瞩目的软件开发领域。智能手机和平板设备已成为许多用户首选的客户端。Spring Mobile是Spring MVC新的扩展模 块,用于支持移动Web应用开发。

Spring for Android

与Spring Mobile相关的是Spring Android项目。这个新项目,旨在通过Spring框架为开发基于Android设备的本地应用提供某些简单的支持。最 初,这个项目提供了Spring RestTemplate的一个可以用于Android应用之中的版本。它还能与Spring Social协作,使得原生应用可以通过 REST API进行社交网络的连接。 本书中,我不会讨论Spring for Android,不过你可以通过http://projects.spring.io /spring-android/了解更多内容。

Spring Boot Spring(极大地简化了众多的编程任务,减少甚至消除了很多样板式代码)

极大地简化了众多的编程任务,减少甚至消除了很多样板式代码,如果没有Spring的话,在日常工作中你不得不编写这样的样板代码。 Spring Boot是一个崭新的令人兴奋的项目,它以Spring的视角,致力于简化Spring本身。 Spring Boot大量依赖于自动配置技术,它能够消除大部分(在很多场景中,甚至是全部)Spring配置。它还提供了多个Starter项目,不管你使 用Maven还是Gradle,这都能减少Spring工程构建文件的大小。 在本书即将结束的第21章,我们将会学习Spring Boot。

参考书籍《Spring实战(第4版)》

猜你喜欢

转载自blog.csdn.net/qq_32754539/article/details/89532553