返回列表 发新帖

[Java] Spring Boot实战中文版

[复制链接]

68

主题

68

帖子

717

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
717
发表在  2018-1-2 21:07:34 | 显示全部楼层 | 阅读模式


本书以Spring应用程序开发为中心,全面讲解如何运用Spring Boot提高效率,使应用程序的开发和管理更加轻松有趣。作者行文亲切流畅,以大量示例讲解了Spring Boot在各类情境中的应用,内容涵盖起步依赖、Spring Boot CLI、Groovy、Grails、Actuator。对于Spring Boot开发应用中较为繁琐的内容,附录奉上整理完毕的表格,一目了然,方便读者查阅。作者简介
Craig Walls
Pivotal高级工程师,Spring Social及Spring Sync项目领导者,著名技术博主,畅销书《Spring实战》作者。他致力于推广Spring框架,笔耕不辍,亦时常作为演讲嘉宾出席各类相关会议。

丁雪丰(译者)
资深工程师,活跃的技术图书译者,长期参与经典英文技术书籍的引进工作,译著包括《Spring攻略》《JRuby实践》《MongoDB实战》。


目  录
第1章 入门  1
1.1 Spring风云再起  1
1.1.1 重新认识Spring  2
1.1.2 Spring Boot精要  3
1.1.3 Spring Boot不是什么  6
1.2 Spring Boot入门  6
1.2.1 安装Spring Boot CLI  7
1.2.2 使用SpringInitializr初始化Spring Boot项目  10
1.3 小结  18
第2章 开发第一个应用程序  19
2.1 运用Spring Boot  19
2.1.1 查看初始化的Spring Boot新项目  21
2.1.2 Spring Boot项目构建过程解析  24
2.2 使用起步依赖  27
2.2.1 指定基于功能的依赖  28
2.2.2 覆盖起步依赖引入的传递依赖  29
2.3 使用自动配置  30
2.3.1 专注于应用程序功能  31
2.3.2 运行应用程序  36
2.3.3 刚刚发生了什么  38
2.4 小结  41
第3章 自定义配置  42
3.1 覆盖Spring Boot自动配置  42
3.1.1 保护应用程序  43
3.1.2 创建自定义的安全配置  44
3.1.3 掀开自动配置的神秘面纱  48
3.2 通过属性文件外置配置  49
3.2.1 自动配置微调  50
3.2.2 应用程序Bean的配置外置  55
3.2.3 使用Profile进行配置  59
3.3 定制应用程序错误页面  62
3.4 小结  64
第4章 测试  66
4.1 集成测试自动配置  66
4.2 测试Web应用程序  68
4.2.1 模拟Spring MVC  69
4.2.2 测试Web安全  72
4.3 测试运行中的应用程序  74
4.3.1 用随机端口启动服务器  75
4.3.2 使用Selenium测试HTML页面  76
4.4 小结  78
第5章 Groovy与Spring Boot CLI  80
5.1 开发Spring Boot CLI应用程序  80
5.1.1 设置CLI项目  81
5.1.2 通过Groovy消除代码噪声  81
5.1.3 发生了什么  85
5.2 获取依赖  86
5.2.1 覆盖默认依赖版本  87
5.2.2 添加依赖仓库  88
5.3 用CLI运行测试  89
5.4 创建可部署的产物  91
5.5 小结  91
第6章 在Spring Boot中使用Grails  93
6.1 使用GORM进行数据持久化  93
6.2 使用Groovy ServerPages定义视图  98
6.3 结合Spring Boot与Grails 3  100
6.3.1 创建新的Grails项目  100
6.3.2 定义领域模型  103
6.3.3 开发Grails控制器  104
6.3.4 创建视图  105
6.4 小结  107
第7章 深入Actuator  108
7.1 揭秘Actuator的端点  108
7.1.1 查看配置明细  109
7.1.2 运行时度量  115
7.1.3 关闭应用程序  121
7.1.4 获取应用信息  121
7.2 连接Actuator的远程shell  122
7.2.1 查看autoconfig报告  123
7.2.2 列出应用程序的Bean  124
7.2.3 查看应用程序的度量信息  124
7.2.4 调用Actuator端点  125
7.3 通过JMX监控应用程序  126
7.4 定制Actuator  128
7.4.1 修改端点ID  128
7.4.2 启用和禁用端点  129
7.4.3 添加自定义度量信息  129
7.4.4 创建自定义跟踪仓库  132
7.4.5 插入自定义健康指示器  134
7.5 保护Actuator端点  136
7.6 小结  138
第8章 部署Spring Boot应用程序  139
8.1 衡量多种部署方式  139
8.2 部署到应用服务器  140
8.2.1 构建WAR文件  141
8.2.2 创建生产Profile  142
8.2.3 开启数据库迁移  145
8.3 推上云端  150
8.3.1 部署到Cloud Foundry  150
8.3.2 部署到Heroku  153
8.4 小结  155
附录A Spring Boot开发者工具  157
附录B Spring Boot起步依赖  163
附录C 配置属性  169
附录D Spring Boot依赖  202
[url=]显示部分信息[/url]


前  言
2014年春天,Netflix的交付工程团队开始着手实现一个伟大的目标——通过一个软件平台来实现端到端的全局持续交付,该平台有利于系统的可扩展性及弹性。为了满足Netflix的交付与部署需要,我的团队曾构建了两套不同的应用程序,但这两套应用程序都有演变成庞然大物的趋势,而且都没能满足灵活性和弹性的目标。更重要的是,这些庞大的应用程序最终还拖了我们的后腿,让我们跟不上合作伙伴的创新步伐。用户开始回避我们的工具,而不是使用它们。

很明显,如果想要向公司证明自己的真正价值并快速创新,我们需要把庞然大物分解成小的独立服务,这些服务要能随时发布。拥抱微服务架构给我们带来了希望,让我们能实现灵活性与弹性的双重目标。但是我们需要在一个可靠的基础上实现这一架构,它要能实现真正的并发、合理的监控、可靠易用的服务发现,运行时还要有极好的性能。

我们要在JVM上寻找一款框架,它要直接提供快速开发的能力和强大的运维能力。最终,我们找到了SpringBoot。

Spring Boot能用寥寥数行代码构建一套基于Spring并满足生产要求的服务,不费吹灰之力!实际上,一个简单的Spring Boot Hello World应用程序能放进一条推文里,这在短短几年之前还是完全不可能的事情。它还自带了不少非功能性的特性,比如安全、度量、健康检查、内嵌服务器和外置配置,这些都让选择Spring Boot成为了一件顺理成章的事情。

然而,踏上Spring Boot之旅后,我们却发现手头没有好的文档。要搞明白怎么利用好框架的特性,只能依靠源码,这可不是个让人愉快的办法。

Manning那本著名的《Spring实战》的作者再度接受挑战,将Spring Boot的核心用法写成了另一本好书,对此我一点都不吃惊。毫无疑问,Craig和Manning的团队又做成了一件了不起的大事!正如我们所料,《Spring Boot实战》是一本通俗易懂的好书。

从第1章引人入胜的介绍以及富有传奇色彩的90字符推文应用程序,一直到第7章对Spring Boot的Actuator(提供了很多生产应用程序所需的神奇的运维特性)的深度分析,《Spring Boot实战》做到了知无不言,言无不尽。实际上,对我而言,第7章对Actuator的深度分析解答了不少问题,这些问题自一年多以前我开始使用Spring Boot后,就一直萦绕在我的脑海里。第8章对部署选项的透彻研究让我大开眼界,了解到Cloud Foundry在云部署方面是如此简便。第4章是我最喜欢的章节之一,Craig揭示了很多强大的选项,它们能很方便地测试Spring Boot应用程序。从一开始我就惊喜于Spring的测试特性,而Spring Boot将它们发挥得淋漓尽致。

正如上文中我所说的那样,SpringBoot正是十几年来Java社区所探寻的那种框架。它那简单易用的开发特性和开箱即用的运维能力,让Java开发再度趣味横生。我欣然向大家宣布,Spring和Spring Boot已经成为了Netflix新持续交付平台的基础。而且,Netflix的其他团队也参考了我们的做法,因为他们也看到了Spring Boot的巨大益处。

我怀着兴奋与激动的心情,向大家强烈推荐Craig的书。作为Spring Boot的文档,本书可谓通俗易懂、趣味横生,是Spring Boot征服Java社区后,大家翘首以盼的佳作。Craig浅显易懂的写作风格,对SpringBoot核心特性与功能的全面分析,一定能让读者对Spring Boot有个彻底的认识(而且在满心欢喜的同时还肃然起敬)。

Craig加油!Manning出版社加油!那些开发出Spring Boot的天才开发者们加油!请你们一定坚持下去!正是你们确保了JVM的光明未来。
Andrew Glover
Netflix交付工程团队经理

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表