
作者:(美)亚历克斯·布雷特(AlexBre
页数:384
出版社:电子工业出版社
出版日期:2017
ISBN:9787121311116
电子书格式:pdf/epub/txt
内容简介
Spring MVC是一个面向Web应用的轻量级框架。作为Spring框架的一部分,它天然扩展了Spring并为Web相关问题提供了一致的解决方案。
通过设计Maven模块,你将会实现一个企业级、无状态的REST应用。本书的独特之处在于从Spring生态圈中收集了大量的实用开发技术。你将会通过超媒体与HATEOAS来实现客户与产品之间的无状态会话,并掌握如何配置基于WebSocket的消息服务。最后,你将会学到如何创建并组织不同层次的自动化测试。
■ 使用Maven构建项目,并创建自测试、领域特定、可部署的Web归档。
■ 使用AngularJS与Bootstrap为响应式与强大的前端生成模板。
■ 构建高性能、无状态的RESTful与超媒体应用来支持多客户体验。
■ 使用BASIC认证模式与OAuth2通过REST进行认证。
■ 使用Swagger与Swagger UI来文档化并发布REST API。
■ 实现Spring Web应用的可伸缩。
■ 通过WebSocket与STOMP消息进行通信。
作者简介
本书作译者文字水平较高,行文流畅,且工作在编程第一线,拥有扎实的理论基础和实践经验,相信会为读者奉上一本质量上乘的图书。
Alex Bretet 是一位知名的Java 与Spring 集成工程师,目前就职于Thunderhead,这是一家全球知名的SaaS 提供商。他拥有能源、保险、财务与互联网等多个领域的丰富开发经历。受到互联网通信能力与诸多初创公司的感染,他深信开发所能带来的价值(志趣相同的一帮人能在很短的时间内实现令人难以置信的目标)。他还是开源,特别是Spring 的拥护者,其实用主义持续不断地“瓦解”着现有的做法,并提供了颇具价值的替代方法。可以通过alex.bretet@gmail.com 与作者取得联系,或者在Twitter 上关注@abretet。
本书特色
本书由浅入深地介绍了当今流行的Java Web框架Spring MVC的方方面面,从基础的环境搭建到微服务设计与架构,再到持久化、REST API构建、认证与测试……涵盖了Spring MVC诸多重要且常用的特性。值得一提的是,本书针对Spring MVC的每一项特性都提供了完整可运行的示例代码,可以帮助读者更好地掌握这项技术。无论是Spring MVC的初学者,还是拥有一定经验的开发人员,都能够从本书中获得启发,更好地理解Spring MVC这一Web开发“利器”。
目录
1 企业级Spring应用的搭建. ………………………………….1
引言 ………………………1
安装Eclipse JEE开发者版本与Java SE 8 ……………………….2
为Eclipse配置Java 8、Maven 3和Tomcat 8 ……………………5
定义Maven的项目结构 ………………………………………………12
安装Spring、Spring MVC和Web结构 ………………………….24
2 使用Spring.MVC设计微服务架构. …………………….35
引言 …………………….35
使用简单URL映射配置控制器 …………………………………..36
使用ViewResolver配置回退控制器 ……………………………..49
使用Bootstrap创建并自定义响应式单页面Web设计…….53
使用JSTL在视图中显示模型 ………………………………………72
定义通用WebContentInterceptor ………………………………….82
使用AngularJS设计客户端MVC模式 ………………………….88
3 Java持久化与实体………………………………………..100
引言 …………………..100
在Spring中配置Java持久化API …………………………………101
定义有用的EJB3实体和关系 …………………………………….105
使用JPA与Spring Data JPA ……………………………………….. 115
4 为无状态架构构建REST.API…………………………..122
引言 …………………..122
绑定请求与编排响应 ……………………………………………….123
配置内容协商(JSON与XML等) ……………………………133
添加分页、过滤器与排序功能 …………………………………138
全局处理异常 …….149
使用Swagger生成文档与公开API……………………………..156
5 使用Spring.MVC进行认证…………………………….163
引言 …………………..163
配置Apache HTTP服务器来代理Tomcat服务器 …………163
修改用户和角色以适应Spring Security ……………………..172
基于BASIC的认证方式…………………………………………….183
第三方OAuth2认证 ………………………………………………….193
在REST环境中保存认证信息…………………………………… 211
服务与控制器授权 …………………………………………………..220
6 实现HATEOAS…………………………………………….235
引言 …………………..235
将DTO改造成Spring HATEOAS资源 ………………………..236
为超媒体驱动的API创建链接 …………………………………..244
JPA实体的暴露策略 …………………………………………………252
通过OAuth从第三方API获取数据…………………………….259
7 开发CRUD操作与校验…………………………………..266
引言 …………………..266
为所有HTTP方法扩展REST处理程序……………………….267
使用Bean Validation校验资源 ……………………………………278
REST消息与内容的国际化……………………………………….292
使用HTML5和AngularJS校验客户端表单 …………………302
8 通过WebSocket与STOMP进行通信……………….308
引言 …………………..308
通过基于SockJS的STOMP使社交事件流媒体化 ……….309
使用RabbitMQ作为多协议消息代理 …………………………322
将任务放入RabbitMQ并通过AMQP消费任务……………328
通过Spring Session和Redis保证消息安全 ………………….334
9 测试与故障排除. ……………………………………………351
引言 …………………..351
通过Flyway实现数据库迁移自动化 ………………………….352
使用Mockito和Maven Sure.re进行单元测试 ……………..357
使用Cargo、Rest-assured和Maven Failsafe进行集成测试 ………………………………………………..364
在集成测试中注入Spring Bean …………………………………373
使用Log4j2记录日志的现代应用 ………………………………377















