thinking-in-spring-boot-samples icon indicating copy to clipboard operation
thinking-in-spring-boot-samples copied to clipboard

【勘误记录】《Spring Boot 编程思想 - 核心篇》2019年3月第一版

Open mercyblitz opened this issue 6 years ago • 172 comments

书名:《Spring Boot 编程思想 - 核心篇》 ISBN:978-7-121-36039-8 版次:2019 年 3 月第 1 版 如果您在阅读本书时,发现了任何错误,请直接备注,后续的出版物将修正其中错误,非常感谢~

【勘误汇总】

mercyblitz avatar Apr 16 '19 09:04 mercyblitz

93页出现spring-boot-starter-tomcat的单词starter分开和spring-boot-starter-undertow 中的undertow单词分开

✅ 谢谢 @zhengjiangming 反馈,已采纳~

zhengjiangming avatar Apr 17 '19 05:04 zhengjiangming

155页最后一段中:"类似地,凡是被@Component元标注(meta-annotated)的注解,如@Service,当任何组件标注它时,也被当做组件扫描的候选对象:" 这句话可以调整一下,容易搞不清楚,被视作组件扫描的候选对象到底是谁. 这样调整一下是否好一点,如"类似地,凡是被@Component元标注(meta-annotated)的注解,如@Service,所标注的任何组件,也都被当做组件扫描的候选对象:"

✅ 谢谢 @RockFishChina 反馈,这样的表达更好理解。

RockFishChina avatar Apr 17 '19 08:04 RockFishChina

187页 中段 所谓的"组合注解"...其目的在于将这些关联的注解行为组合成单个自定义注解.

行为组合成注解 ?


:star: 小马哥:注解行为组合成... -> 注解行为 组合成...(这样断句)


注解行为组合至单个自定义注解 容易理解 注解行为组合成...注解 行为和注解不是一类事物.

RockFishChina avatar Apr 18 '19 01:04 RockFishChina

226页 @enable注解模块中 EnableWebFlux缺少@

✅ 谢谢 @wqyblue3316 反馈,已采纳~

wqyblue3316 avatar Apr 18 '19 03:04 wqyblue3316

239 第6行: 实现类 AnnotationConfigBeanDefini(此处多个空格)tionParser

✅ 谢谢 @RockFishChina 反馈,已确认排版错误并收录~

RockFishChina avatar Apr 18 '19 08:04 RockFishChina

40页 正文第1行: 命令执行后,JVM运行失败,提示类org.springframework.boot.Spring(此处多个空格)Application无法找到。

✅ 谢谢反馈,已采纳~

Yuhuiyang-Dev avatar Apr 18 '19 15:04 Yuhuiyang-Dev

42页 正文第4行,在IDEA中同时按下command+O.... 此处快捷键应当为 command+N

✅ 谢谢 @Yuhuiyang-Dev 反馈,已采纳~

Yuhuiyang-Dev avatar Apr 18 '19 15:04 Yuhuiyang-Dev

110页倒数第四行,“其Bean对象的行文“”应该修改成,行为

✅ 谢谢 @alonecong 反馈,已确认错误并收录~

alonecong avatar Apr 19 '19 02:04 alonecong

37页 “.JarLauncher对应的 WAR 文件实现”,应该为.JarLauncher对应的 JAR 文件实现


:star: 小马哥:感谢 @nosqlcoco 的反馈,此处并非错误,而是强调 JarLauncher 对应的 WAR 实现,感谢反馈~

nosqlcoco avatar Apr 19 '19 02:04 nosqlcoco

43页,“故符合xxxx.startWith(BOOT_INF_LIB)的判断”,应该为“故符合xxxx.startWith(BOOT_INF_CLASSES)的判断”

✅ 谢谢 @nosqlcoco 反馈,已确认编写错误并收录~

nosqlcoco avatar Apr 19 '19 02:04 nosqlcoco

39 页第 2 行 "org.springframe work.boot" 中多了一个空格

✅ 谢谢 @stackfing 反馈,已采纳~(印刷错误)

stackfing avatar Apr 19 '19 05:04 stackfing

294页,第二行,并且它可能会造成默写Spring Boot应用的错误 默写->某些 ??

✅ 谢谢 @RockFishChina 反馈,已确认编写错误并收录~

RockFishChina avatar Apr 19 '19 06:04 RockFishChina

93页,第二行,“替换默认的 Jetty Web Server” 此处应为“默认的 Netty Web Server”

✅ 谢谢 @liaozan 反馈,已确认编写错误并收录~

refeccd avatar Apr 20 '19 16:04 refeccd

98页 第二行 A single @SpringBoot Application 一个注解被分开2个词了, 应改为 A single @SpringBootApplication

✅ 谢谢 @porscheYong 反馈,已确认排版错误并收录~

porscheYong avatar Apr 21 '19 02:04 porscheYong

37页 “.JarLauncher对应的 WAR 文件实现”,应该为.JarLauncher对应的 JAR 文件实现

37页是没有问题的你要把整句话读一次就知道了,对应WAR文件实现是指后面的WarLauncher


:star: 感谢 @THyyy 提供回复~

THyyy avatar Apr 21 '19 04:04 THyyy

@xkcoding: 91 页正文第一段。

当前 WebServer 实现类为 org.springframework.boot.web.embedded.undertow.UndertowWebServer。

该部分内容应该属于上方的日志打印部分,而不应出现在正文,望小马哥确认该问题!

✅ 谢谢 @xkcoding 的反馈,已确认排版错误并收录~

https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/8#issue-435356782

mercyblitz avatar Apr 21 '19 06:04 mercyblitz

@xkcoding: 92 页正文 倒数 第二段。

当前 WebServer 实现类为 org.springframework.boot.web.embedded.undertow.UndertowWebServer。

该部分内容应该属于日志打印部分,而不应出现在正文,望小马哥确认该问题!

✅ 谢谢 @xkcoding 的反馈,已确认排版错误并收录~ https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/8#issuecomment-485058837

mercyblitz avatar Apr 21 '19 06:04 mercyblitz

@xkcoding : 94 页正文第一段。

当前 WebServer 实现类为 org.springframework.boot.web.embedded.jetty.JettyWebServer。

该部分内容应该属于日志打印部分,而不应出现在正文,望小马哥确认该问题!

✅ 谢谢 @xkcoding 的反馈,已确认排版错误并收录~ https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/8#issuecomment-485058940

mercyblitz avatar Apr 21 '19 06:04 mercyblitz

@xkcoding : 95 页正文第二段。

当前 WebServer 实现类为 org.springframework.boot.web.embedded.tomcat.TomcatWebServer。

该部分内容应该属于日志打印部分,而不应出现在正文,望小马哥确认该问题!

✅ 谢谢 @xkcoding 的反馈,已确认排版错误并收录~ https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/8#issuecomment-485058976

mercyblitz avatar Apr 21 '19 06:04 mercyblitz

@xkcoding : 106 页正文第二段。

当前 WebServer 实现类为 org.springframework.boot.web.embedded.tomcat.TomcatWebServer。

该部分内容应该属于日志打印部分,而不应出现在正文,望小马哥确认该问题!

✅ 谢谢 @xkcoding 的反馈,已确认排版错误并收录~ https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/8#issuecomment-485059764

mercyblitz avatar Apr 21 '19 06:04 mercyblitz

73页单词错误,类似于Spring Boot FAR JAR。 应该修正Spring Boot FAT JAR

✅ 谢谢 @hulanhui 的反馈,已确认拼写错误并收录~

hulanhui avatar Apr 21 '19 06:04 hulanhui

@xkcoding : 103 页正文第二段。

尽管 @CompoentScan 仅关注于 @Component,然而由于 ......

~~@CompoentScan~~ 修改为 @ComponentScan,望小马哥确认该问题!

PS:正文第二段中所有出现 ~~@CompoentScan~~ 均拼写错误,需要修改为 @ComponentScan

✅ 谢谢 @xkcoding 的反馈,已确认拼写错误并收录~ https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/9

mercyblitz avatar Apr 21 '19 07:04 mercyblitz

@bilaisheng :

P112页, 【从本次运行结果不难发现,所谓GLIB提升并非是@Bean对象提供的】。 这个地方应该是CGLIB。少了个字母【C】。

✅ 谢谢 @bilaisheng 的反馈,已确认拼写错误并收录~ #5

mercyblitz avatar Apr 21 '19 07:04 mercyblitz

@bilaisheng :

P113页,正文第二行 【装配也能被关联到“starter”中,这些“starer”提供自动装配的代码及关联的依赖。】

单词拼写错误 第二个双引号中应为【starter】

✅ 谢谢 @bilaisheng 反馈,已确认拼写错误并收录~

mercyblitz avatar Apr 21 '19 07:04 mercyblitz

159页'(3)部署@StringRepository Bean' 的示例xml代码中,context左边缺少一个‘<’

✅ 谢谢 @yxzjerryfish 反馈,已确认排版错误并收录~

yxzjerryfish avatar Apr 21 '19 09:04 yxzjerryfish

480页 构建泛型事件 整个代码块好像粘错了

✅ 感谢 @liqi19950722 的反馈,已确认代码粘贴错误并记录~

liqi19950722 avatar Apr 21 '19 09:04 liqi19950722

P43页,讨论 JarLauncher 实现时,有这么一段 【当 application.properties 资源位于 FAT JAR 时,实际的 Archive.Entry#getName() 为 /BOOT-INF/classes/application.properties,故符合 entry.getName().startsWidth(BOOT_INT_LIB)的判断,即 isNestedArchive(Archive.Entry) 方法返回true】,经 debug,application.properties 不符合 entry.getName().startsWidth(BOOT_INT_LIB) 的判断(它的父目录是 classes 而不是 lib ),而 isNestedArchive(Archive.Entry) 方法是返回 false 的 JarLauncher分析错误


✅ 谢谢 @feichangxinfu 的反馈,该问题已在 https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/3#issuecomment-484749074 反馈,实际应该为 BOOT_INF_CLASSES

feichangxinfu avatar Apr 21 '19 09:04 feichangxinfu

【前言】部分中的【表达约定】第一行,【本书的讨论内容可能对相同事务出现不同的表述方式】,个人认为应该采用【事物】而非【事务】。 望小马哥思考一下哈。

✅ 谢谢 @landy8530 的反馈,已确认编写错误并收录~

landy8530 avatar Apr 21 '19 09:04 landy8530

前言 XVIII页,第四行代码其中 “=”右边 new AnnotationConfigApplicationContext(); 其中“igApplicationContext();”部分换行了,这一行不应该注释掉,但是被“//”注释了。 1

✅ 谢谢 @cabbageXun 的反馈,已确认编写错误并收录~

cabbageXun avatar Apr 21 '19 10:04 cabbageXun

296页 作为Spring Boot最核心注解的@SpringBootApp lication 应该没有空格 @SpringBootApplication 微信图片_20190421192426 - 副本

✅ 谢谢 @old-king 的反馈,已确认排版错误并收录~

O-king avatar Apr 21 '19 11:04 O-king

130页 英文第一行 Property values ..........by using the @Valueannotation,没有空格 应该是 @Value annotation,

✅ 谢谢 @331829683 的反馈,已确认排版错误并收录~

331829683 avatar Apr 21 '19 11:04 331829683

前言 XIII 页,“表达约定”部分,“本书的讨论内容可能对相同事务出现不同的表述方式。”中的“事务”是否替换为“事物”更为妥当,请马哥斟酌。


✅ 感谢 @jiangshuangjun 的反馈,该问题已在前面被记录,可参考 https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/3#issuecomment-485239605

jiangshuangjun avatar Apr 21 '19 13:04 jiangshuangjun

95页对3种嵌入式Web容器进行总结,如下表所示,表格中:Undertow的WebServer实现类写成了UndertowWebServer(该类是嵌入式Reactive Web容器实现类),应该修改为UndertowServletWebServer


:star: 感谢 @hulanhui 的反馈,不过此处恰好是讨论 Reactive Web 容器的实现,故没有问题。

hulanhui avatar Apr 21 '19 14:04 hulanhui

106页,倒数第 6 行,“单从日志上观察,组件转配和运行正常”,应为“组件装配”

✅ 谢谢 @liaozan的反馈,已确认编写错误并收录~

refeccd avatar Apr 21 '19 15:04 refeccd

89页正文第三段第一行出现ApplicationContext拼写分开的错误。

✅ 谢谢 @miaoo92 的反馈,已确认排版错误并收录~

miaoo92 avatar Apr 21 '19 15:04 miaoo92

98页引用第5行,“enable @Component scan on......” 应该为“enable @ComponentScan on......”


⭐️ 谢谢 @miaoo92 的反馈,此处没有问题,援引官方原文,见 https://docs.spring.io/spring-boot/docs/2.0.2.RELEASE/reference/htmlsingle/#using-boot-using-springbootapplication-annotation

miaoo92 avatar Apr 21 '19 16:04 miaoo92

98页引用第5行,“enable @Conponent scan on......” 应该为“enable @ConponentScan on......”

ConponentScan-> ComponentScan


⭐️ 谢谢 @liaozan 的反馈,该问题已在 https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/3#issuecomment-485263450 记录

refeccd avatar Apr 21 '19 16:04 refeccd

P113正文第6行(不算引入的官方文档),@Condtinal注解写错,应为@Conditional

✅ 谢谢 @redaness 的反馈,已确认编写错误并收录~

hoshao avatar Apr 22 '19 07:04 hoshao

p133 正文 第6行 “派生” 注解(如@Server)是不是应该改为 “派生” 注解(如@Service),请核实

✅ 谢谢 @porscheYong 的反馈,已确认编写错误并收录~

porscheYong avatar Apr 22 '19 08:04 porscheYong

p133 正文 第10行,第12行 Annotation @Confiugraion 应为 Annotation @Configuration

✅ 谢谢 @porscheYong 的反馈,已确认拼写错误并收录~

porscheYong avatar Apr 22 '19 08:04 porscheYong

296页 9.1.1上边一段 :尽管...,但官方文档并没有更新,不过也(缺个''无''字?)妨

✅ 谢谢 @RockFishChina 的反馈,已确认编写错误并收录~

RockFishChina avatar Apr 22 '19 10:04 RockFishChina

p153 倒数二个表格的说明 是否是“配置属性注解如下表示”,而不是 “配属属性注解如下表示”,请确认是否需要改。

✅ 谢谢 @porscheYong 的反馈,已确认编写错误并收录~

porscheYong avatar Apr 22 '19 14:04 porscheYong

178页 simpleMetadataReader 源码对比的图片反了,左侧应该是2.5版本……😄

✅ 谢谢 @alonecong 的反馈,已确认编写错误并收录~

alonecong avatar Apr 23 '19 00:04 alonecong

《Spring Boot 编程思想》p15倒数第四行:执行mvn dependency:tree-Dincludes=XXX,需要改为:mvn dependency:tree -Dincludes=XXX,在tree后面需要加空格。

✅ 谢谢 @myejb22 反馈,已确认拼写错误并收录~ 参考 #3 (comment)

myejb22 avatar Apr 23 '19 03:04 myejb22

p163 第9行 基API 为 BeanDefinition Parser 中间有空格,应改为“BeanDefinitionParser”,请确认。

✅ 谢谢 @porscheYong 的反馈,已确认排版错误并收录~

porscheYong avatar Apr 23 '19 06:04 porscheYong

P68 单词错误

错误单词:Spring IO Platorm

正确单词:Spring IO Platform


✅ 谢谢 @JamesDragon 反馈,已确认拼写错误并收录~

PP-Flash avatar Apr 23 '19 10:04 PP-Flash

  • 15页的查看依赖树的命令有问题,应该是mvn dependency:tree -Dincludes=org.springframework.* image

✅ 谢谢 @InnerDemon 反馈,已确认拼写错误并收录~ 参考 https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/3#issuecomment-487286394

InnerDemon avatar Apr 23 '19 14:04 InnerDemon

283页第一段,@ConditionalOn Bean 多了空格,应该为@ConditionalOnBean。

✅ 谢谢 @nosqlcoco 的反馈,已确认排版错误并收录~


补充:283页倒数第1行,“ConditionOnSystem Property” -> 应调整为“ConditionOnSystemProperty”

nosqlcoco avatar Apr 24 '19 00:04 nosqlcoco

p240 第四行 Ordered.HIGHT ST_PRECEDENCE 出现空格 应改为 Ordered.HIGHEST_PRECEDENCE

✅ 谢谢 @porscheYong 的反馈,已确认排版错误并收录~

porscheYong avatar Apr 25 '19 07:04 porscheYong

第12页 最上方 “控制台输入内容:”是否应为“控制台输出内容:”

✅ 谢谢 @aaa448579123 的反馈,已确认编写错误并收录~

aaa448579123 avatar Apr 26 '19 03:04 aaa448579123

P43 正文第6行 /BOOT-INF/classes/application.propperties 应为 BOOT-INF/classes/application.propperties P43正文第6行


⭐️ 感谢 @flyonsnow 的反馈,仅检查并无此错误

是正文第6行,已补充图片,请小马哥@mercyblitz 再次确认

Flyonsnow avatar Apr 27 '19 02:04 Flyonsnow

270页的8.3 Spring条件装配中的“staging”应该是表示预发而不是语法环境

✅ 谢谢 @MoPei 的反馈,已确认编写错误并收录~

MoPei avatar Apr 27 '19 07:04 MoPei

166页中间,处理后的packageSearchPath为“classpath*:thinking/in/spring/boot/ ** * /.class” 应该是“classpath*:thinking/in/spring/boot/ ** / *.class”(*和/相邻会消失不见,所以家了空格)

✅ 谢谢 @redaness 的反馈,已确认排版错误(原稿正如你所言)并收录~

hoshao avatar Apr 27 '19 08:04 hoshao

@bilaisheng :

P117 路径单词拼写错误 正文倒数第三行 【src/main/resource】 应该为【src/main/resources】 ,resources拼写错误

✅ 谢谢 @bilaisheng 反馈,已确认拼写错误并收录~ 参考 https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/14

mercyblitz avatar Apr 27 '19 09:04 mercyblitz

P50 第三行 “sun.net.www.proto col.jar.Handler” 应为“sun.net.www.protocol.jar.Handler”,protocol单词多了一个空格

✅ 谢谢 @wallfacers 的反馈,已确认排版错误并收录~

wallfacers avatar Apr 27 '19 12:04 wallfacers

P432页面,11.1.4 这一行 上下篇幅,“事件/监听” ,“事件/监听器模式”,"事件监听器接口",这个字段,有些 带“/” ,有些没带“/” 。可能也不算问题,就是觉得看起来奇怪 。

✅ 感谢 @codingma 的反馈,以上表述是同类事务,后续可添加到在前言 XIII 页中的“表达约定” 中

codingma avatar Apr 27 '19 12:04 codingma

P507,第二行 "Class Path",常见的描述一般 应该是"CLASSPATH"?


⭐️ 感谢 @codingma 的反馈, 这部分的表达,在前言 XIII 页中的“表达约定” 有提到: 类路径:Class Path、class-path、类路径

codingma avatar Apr 27 '19 13:04 codingma

排版错误了吧

P517 这行多了空格。

✅ 谢谢 @codingma 的反馈,已确认排版错误并收录~

codingma avatar Apr 27 '19 13:04 codingma

@verichenn :

P15 倒数第5行 查看依赖树命令中 tree 与 -Dincludes未分隔开 P36 2.2.3 小节正文第一行java -jar未分隔 P36 2.2.3 小节正文第3行java -jar未分隔 P38 页面文件路径在此工程中没有找到,路径单词拼写也有误 P58 正文第一行 Starter拼写错误 P79 倒数第2行 spring-boot-starter-undertow 在starter前面多了一个空格 P112 倒数3、4行Configuration单词拼写错误

✅ 谢谢 @verichenn 反馈,已确认错误并收录~ 参考 https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/16

mercyblitz avatar Apr 27 '19 13:04 mercyblitz

@caixingjava :

P58词语错别字倒数第二行,较为繁琐

✅ 谢谢 @caixingjava 反馈,已确认编写错误并收录~

mercyblitz avatar Apr 27 '19 13:04 mercyblitz

第28页,关于jsonpp的部分,我mac上用brew安装时,执行书中所写的brew install json_pp找不到,执行brew install jsonpp才能成功安装,不知道是书中写错了还是与brew的版本或源有关系。 此外,该页最下面 curl http://127.0.0.1:8080/ | json _ppjson _pp多了一个空格。

✅ 谢谢 @Darkness463 反馈,已确认排版错误并收录~

darkness463 avatar Apr 27 '19 15:04 darkness463

P181底部AnnotationAttributesReadingVisitor类的代码贴错了。 这一段的内容是对比2.5.6.SEC03和3.0.0.RELEASE版本AnnotationAttributesReadingVisitor的区别,但是贴的图是3.0.0.RELEASE版本之后的代码。 3.0.0.RELEASE 书上的代码

可以看出书上的代码是继承的RecursiveAnnotationAttributesVisitor类,而在3.0.0.RELEASE中是实现AnnotationVisitor类。(书上的代码竖着拍不清楚,就顺便帮小马哥治治颈椎病吧23333)

✅ 谢谢 @redaness 反馈,已确认排版错误并收录~

hoshao avatar Apr 27 '19 16:04 hoshao

P593-多加一个空格 P593第四行,多了一个空格

✅ 谢谢 @codingma 反馈,已确认排版错误并收录~

codingma avatar Apr 27 '19 23:04 codingma

微信图片_20190428101944 微信图片_20190428102048 P151,P152总共3处拼写错误,应为`@ComponentScan`


✅ 谢谢 @runyan 反馈,已确认拼写错误并收录~

runyan avatar Apr 28 '19 02:04 runyan

第12页 最上方 “控制台输入内容:”是否应为“控制台输出内容:”

我觉得是控制台输出内容比较准确,看小马哥怎么考虑吧


⭐️ 感谢 @THyyy 提示,该问题已录入。

THyyy avatar Apr 28 '19 05:04 THyyy

P43 正文第6行 /BOOT-INF/classes/application.propperties 应为 BOOT-INF/classes/application.propperties P43正文第6行

⭐️ 感谢 @Flyonsnow 的反馈,仅检查并无此错误

是正文第6行,已补充图片,请小马哥@mercyblitz 再次确认

properties拼写没错呀,不是propperties


⭐️ 感谢 @THyyy 的回复,不过这部分描述可能有逻辑问题,我进一步核实。

THyyy avatar Apr 28 '19 06:04 THyyy

145页的第九行“不过,‘始作俑者’并非Spring Web MVC,而是JAX-RS(Java REST规范)。其中原委在将Web篇中展开讨论”,在将应该是将在Web篇中展开讨论吧。

✅ 感谢 @loupXing 的反馈,的确存在字符颠倒的问题,已确认编写错误并收录~

loupXing avatar Apr 28 '19 14:04 loupXing

p296 正文第三行 最核心注解的 @SpringBootApp lication 在App后有空格,应该改为 @SpringBootApplication p 286 @Conditional 作为 @conditional 条件装配的元注解,是否将第二个的@ 去掉,请核实

✅ 感谢 @porscheYong 的反馈,其中 p296 的错误已在 https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/3#issuecomment-485244323 记录。

p 286 中的“@conditional 条件装配” 可调整为“条件装配” 即可。

porscheYong avatar Apr 28 '19 14:04 porscheYong

406页空格问题 image

✅ 感谢 @LeeDamon 的反馈,已确认排版错误并收录~

LeeDamon avatar Apr 29 '19 09:04 LeeDamon

P259,文中的“These mthods” 是指ServletContext的配置方法,它们仅能在ServletContextListener#contextInitialized或ServletContextListener#onStartup方法中被调用。

后面的ServletContextListener#onStartup应该是ServletContainerInitializer#onStartup方法吧,请小马哥确认。

✅ 感谢 @zhongqinzhen 的反馈,已确认编写错误并收录~

zhongqinzhen avatar May 01 '19 06:05 zhongqinzhen

P36,第二段话中:

在标准的Java EE WEB应用中,class文件不是存放在WEB-INF/classes目录,而依赖的JAR包不也是存放在WEB-INF/lib目录下的吗?

添加一个字是否更通顺些。

在标准的Java EE WEB应用中,class文件不是存放在WEB-INF/classes目录,而依赖的JAR包不也是存放在WEB-INF/lib目录下的吗?


✅ 感谢 @zhongqinzhen 的建议,后续修订版中将会采纳该提议

menng avatar May 01 '19 13:05 menng

43页,application.properties的例子好像有问题,不知道是否是我理解有误,源码如下 @Override protected boolean isNestedArchive(Archive.Entry entry) { if (entry.isDirectory()) { return entry.getName().equals(BOOT_INF_CLASSES); } return entry.getName().startsWith(BOOT_INF_LIB); } 而fat jar 中的application.properties的getName().应该为“/BOOT-INF/classes/application.properties” 执行 startsWith(BOOT_INF_LIB)的话会返回true? 还请小马哥解答一下这里 谢谢

感谢 @punisherj 的反馈,正在确认中..

punisherj avatar May 02 '19 07:05 punisherj

p307 第一行,移除排名类名单,此处读不通。求原文。。

✅ 感谢 @liaozan 的反馈,“移除排名类名单” 应该为“移除排除类名单”

refeccd avatar May 02 '19 18:05 refeccd

p326 倒数第二行,将制定的自动装配,应为指定

✅ 感谢 @liaozan 的反馈,已确认编写错误并收录~

refeccd avatar May 02 '19 19:05 refeccd

P10页第一行应用打包成WAR文件或EAR文件应该改为JAR文件


⭐️ 感谢 @MoPei 的反馈,此处是说明 Spring Boot 应用不会像 Java EE,Java EE 应用是打包 WAR 或者 EAR 文件到容器中。

MoPei avatar May 03 '19 13:05 MoPei

P17页第一部分代码起始的大括号"{"不是在行尾而是另起一行,这个与文中的其他编码风格不一致,应该也不符合阿里对外发布的Java编程规范的风格


⭐️ 感谢 @MoPei 的反馈,这个无法和阿里的规范一致,因为它是通过 Maven 插件生成的,来自于源码模板,不过关于代码风格,老外不一定会认同。

MoPei avatar May 03 '19 13:05 MoPei

文中多处的出现Class Path,是不是应该修改问Classpath,https://en.wikipedia.org/wiki/Classpath_(Java)


⭐️ 感谢 @MoPei 的反馈,该部分的解释已在前文说明,请参考: https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/3#issuecomment-487284948

MoPei avatar May 03 '19 13:05 MoPei

P98 第二行 A single@SpringBootApplication 中single和@之间缺少了一个空格


⭐️ 感谢 @MoPei 的反馈,该错误已被录入,请参考: https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/3#issuecomment-485218187

MoPei avatar May 03 '19 13:05 MoPei

P98 第二段引用上方第二行,@EnabeAutoConfigra tion由于排版问题单词被割裂了


⭐️ 感谢 @MoPei 的反馈,并未发现以上问题,能否截图指明否?

MoPei avatar May 03 '19 13:05 MoPei

P115页倒数第三行spring-boot-autoconfigure是Spring Boot核心模块(JAR) 这个JAR是不是应该改成module更合适


⭐️ 感谢 @MoPei 的反馈,这里的 JAR 并非是翻译,而是提醒读者为 JAR 文件。

MoPei avatar May 03 '19 14:05 MoPei

P130页外部化配置中列出了Sping Boot官方文档中的17种,但是小马哥不是一直说是18种吗?既然SpringBoot官方文档有误,小马哥在书中为什么没有修改呢?


⭐️ 感谢 @MoPei 的反馈,我所说的 18 种,将在《运维篇》中看到,争取本月完稿,在双十一前和大家见面~

MoPei avatar May 03 '19 14:05 MoPei

P131页引用段落中的you can have an application. properties多了一个空格,以下截图是Sping Boot官方文档的截图内容 image

✅ 感谢 @MoPei 的反馈,已确认排版错误并收录~

MoPei avatar May 03 '19 14:05 MoPei

P39页,第二行 GroupId 的 org.springframe work.boot 中 work 前面多了一个空格

⭐️ 感谢 @bfchengnuo 的反馈,该问题已被记录~

请参考 https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/3#issuecomment-484768492

bfchengnuo avatar May 05 '19 08:05 bfchengnuo

p90.p91控制台输出中,并未看到webserver实现类为undertowWebServer的字样,不知是否为控制台内容截取缺了些内容?亦或是我理解的有问题。 看了后面内容发现“当前WebServer实现类为...”是输出内容。不知这样排版是否不太方便辩识控制台内容

⭐️ 感谢 @aaa448579123 的反馈,该问题已被记录~ 请参考,https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/8#issue-435356782

aaa448579123 avatar May 06 '19 13:05 aaa448579123

P245

正文内容第三行段落其中,@Ipmort处理方法......中的@Import拼写错误! 补充:正文第五行出现同样错误!


✅ 谢谢 @JamesDragon 的反馈,已确认拼写错误并收录~

PP-Flash avatar May 08 '19 06:05 PP-Flash

P259,文中的“These mthods” 是指ServletContext的配置方法,它们仅能在ServletContextListener#contextInitialized或ServletContextListener#onStartup方法中被调用。

后面的ServletContextListener#onStartup应该是ServletContainerInitializer#onStartup方法吧,请小马哥确认。

✅ 感谢 @zhongqinzhen 的反馈,已确认编写错误并收录~

单词拼写错误

正文中的ServletContextListener#contexInitialized的contexInitialized单词缺少t,应为contextInitialized


✅ 谢谢 @JamesDragon 的反馈,已确认拼写错误并收录~

PP-Flash avatar May 09 '19 06:05 PP-Flash

P277

正文内容:Profile("Java7")所标注的LambdaCalculatingService并未注册到Spring应用上下文中,......

错误指正:Profile("Java7")所标注的应该是类名:IterationCalculatingService 迭代器实现类


✅ 谢谢 @JamesDragon 的反馈,已确认拼写错误并收录~

PP-Flash avatar May 10 '19 06:05 PP-Flash

P61 spring-boot-parent也可以直接作为parent,下面的配置好像少了<parent标签

⭐️ 感谢 @liangliangchen 的反馈,此处应该无误

liangliangchen avatar May 12 '19 04:05 liangliangchen

p517 正文内容 “本过程仅执行一行语句”这段,数下来第第7行 #createEnvironm ent()创建 出现空格,应为 #createEnvironment()创建。


⭐️ 感谢 @porscheYong 的反馈,该问题已被记录~ 请参考,https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/3#issuecomment-487285635

porscheYong avatar May 12 '19 11:05 porscheYong

P153 @Import的起始版本可能有问题,在spring-conetxt 2.5.x中没有找到,spring 3.0才找到的 @Conditional 也是在3.0中没有找到,在4.0中才找到的

✅ 谢谢 @wallfacers 的反馈,已确认错误并收录~

wallfacers avatar May 13 '19 14:05 wallfacers

P329, "否则,当自动装配类出现在..." 这里应该是自动装配类出现在自动装配的配置资源中才会走asm读取类注解的元信息吧。还有一些类名中间被空白断开的可能是排版格式问题


⭐️ 感谢 @huitu1991 的反馈,该问题暂不更改,因为书中多出采用此编排格式

huitu1991 avatar May 14 '19 23:05 huitu1991

第15页第二行,“...增加spring-boot-starter -web” starter -web中多了个空格。 WechatIMG1

✅ 谢谢 @tuablove 的反馈,已确认排版错误并收录~

tuablove avatar May 18 '19 11:05 tuablove

第15页倒数第四行,命令少个空格,应该为“mvn dependency:tree -Dincludes=org.springframework.* ” WechatIMG2


⭐️ 谢谢 @tuablove 的反馈,该问题已被 https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/3#issuecomment-493670554 记录

tuablove avatar May 18 '19 11:05 tuablove

马哥,第 75 页,“除此之外,Tomcat Maven 插件打包后的 JAR 或 WAR 文件属于非 FAT 模式,因为归档文件存在压缩的情况,所以 Spring Boot Maven 插件 spring-boot-maven-plugin 采用零压缩模式” 中的 “所以 Spring Boot Maven 插件...” 应为 "而 Spring Boot Maven 插件...",请马哥斟酌

✅ 感谢 @jiangshuangjun 的建议,描述将由“所以”,调整为“然而”。

jiangshuangjun avatar May 20 '19 00:05 jiangshuangjun

P130,第四行 using the @Valueannotation 应为 @Value annotation


⭐️ 谢谢 @tuablove 的反馈,该问题已被 https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/3#issuecomment-485245434 记录

tuablove avatar May 21 '19 08:05 tuablove

建议:小马哥,能否在后续的版本中,简单的解释下"完全模式"和“轻量模式”,该概念出现在P246页中


感谢你的建议,这块我会和编辑沟通,首先将会在公众号“次灵均阁” 中解释

wallfacers avatar May 28 '19 14:05 wallfacers

@verichenn:

P239 第五行 context:annotation-config中间多了一个空格

✅ 感谢 @verichenn 反馈,已确认排版错误并收录~ 参考 https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/22#issue-440435607

mercyblitz avatar May 28 '19 15:05 mercyblitz

@verichenn:

P250 【8.2.1小节】正文第一行 code-based中间多一个空格

✅ 感谢 @verichenn 反馈,已确认排版错误并收录~ 参考 https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/22#issuecomment-489479102

mercyblitz avatar May 28 '19 15:05 mercyblitz

@verichenn:

P216 理论上,运行结果...txManager2拼写有误

✅ 感谢 @verichenn 反馈,已确认代码拼写错误并收录~ 参考 https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/22#issuecomment-489622851

mercyblitz avatar May 28 '19 15:05 mercyblitz

@verichenn:

P251 最后一段文档引用 第一行 code-based 多一个空格;第三行...implementation of this interace... interace 应该是 interface (官方文档笔误?)

✅ 感谢 @verichenn 反馈,估计是当时官方的拼写错误,目前 5.0.6.RELEASE 的文档做出了修正。 参考 https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/22#issuecomment-489906601

mercyblitz avatar May 28 '19 15:05 mercyblitz