前言
前言
作为Web
开发人员,我愿意创建新的东西,将它们快速上线,然后将注意力转移到下一个新的想法上。
如今,所有的应用都互相连接在了一起,我们需要与社交媒体进行交互,促进产品和复杂系统的发展,为用户提供更大的价值。
直到现在,这些对于Java
开发人员来说都非常遥远和复杂。随着Spring Boot
的诞生和云平台的平民化,我们可以在有限的时间内创建精彩的应用并让所有的人来访问,而这个过程不需要花一分钱。
在本书中,我们将会从头开始构建一个有用的Web
应用。这个应用有很多很棒的特性,如国际化、表单校验、分布式会话与缓存、社交登录、多线程编程等。
同时,我们还会对其进行完整的测试。
在本书结束之前,我们还会将这个小应用部署到云端,使它能够通过Web
进行访问。
如果你觉得这挺有意思的话,那么就别浪费时间了,马上开始着手编码吧!
本书所涵盖的内容
第1章”快速搭建Spring Web
应用”能够让我们非常快速地开始使用Spring Boot
。本章介绍了让我们更具生产效益的工具,如Spring Tool Suite
和Git
,本章还会帮助我们搭建应用的主体框架,并见识Spring Boot
背后的魔力。
第2章”精通MVC
架构”指导我们创建一个小的Twitter
搜索引擎,同时,本章还涵盖了Spring MVC
和Web
架构的基础知识。
第3章”处理表单和复杂的URL
映射”帮助你理解如何创建用户基本信息表单,本章介绍如何在服务端和客户端校验数据,并且让我们的应用支持多语言访问。
第4 章”文件上传与错误处理”将会指导你为基本信息表单添加文件上传功能,它阐述了如何在Spring MVC
中恰当地处理错误并展示自定义的错误页面。
第5章”创建RESTful
应用”阐述了RESTful
架构的理念,它还帮助我们创建了一个可以通过HTTP
调用的用户管理API
,这个过程中会看到帮助我们设计API
的工具,并且会讨论如何很简便地实现文档化。
第6 章”保护应用”将会指导我们如何保护应用,包括如何使用基本HTTP
认证保护RESTful API
,以及如何保护登录页之后的Web
页面,它阐述了如何通过Twitter
进行登录以及如何将会话保存在Redis
中,从而允许我们的应用进行扩展。
第7章”单元测试与验收测试”帮助我们对应用进行测试。它讨论了测试与TDD
,介绍了如何对控制器进行单元测试,如何使用现代的库设计端到端的测试。最后,介绍了Groovy
如何提升测试的生产效率和可读性。
第8章”优化请求”对应用进行了优化。它包括缓存控制和Gzip
,本章将教会我们如何把Twitter
搜索结果缓存到内存和Redis
中,以及如何对搜索实现多线程执行。除此之外,还会介绍如何实现Etag
和使用WebSocket
。
第9章”将Web
应用部署到云中”会指导我们对应用进行部署,通过对比,阐述了不同PaaS
解决方案的差异。然后,介绍了如何将应用部署到Cloud Foundry
和Heroku
中。
第10章”超越Spring Web"
在整体上讨论了Spring
生态系统,介绍了现代Web
应用的组成部分以及后续的发展方向。
阅读本书所需的前提条件
尽管我们将要构建的是一个很高级的应用,但是并不需要你安装很多的东西。
我们将要构建的应用需要Java 8
。
我们并不强制你使用Git
,不过你绝对应该使用Git
来对自己的应用进行版本控制。如果你希望将应用部署到Heroku
上,那么会需要用到它。另外,借助Git
可以非常容易地回顾你的工作,通过查看代码的差异和历史来了解其演进过程。在第1 章中包含了很多开始使用Git
的资源。
我还推荐你使用一个好的IDE
。我们会看到如何使用Spring Tool Suite
(免费)和IntelliJ``Idea
(一个月的免费试用)实现快速起步。
如果你使用Mac
的话,应该了解一下Homebrew(http``://brew.sh)
。通过使用这个包管理器,你可以安装本书中提到的所有工具。
本书为谁而作
本书最适合已经熟悉Spring
编程基础知识并迫切希望扩展其Web
技能的开发人员。建议你事先掌握一些Spring
框架的知识。
示例代码下载
你可以通过账号,在http://www.packtpub.com下载所有你所购买的Packt
图书的示例代码文件。如果你是在其他途径购买的本书,那么可以访问http://www.packtpub.com/support并进行注册,这些文件会直接邮件发送给你。
对于本书的样例代码,你也可以通过https://github.com/Mastering-Spring-MVC-4/mastering-spring-mvc4进行下载。