Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
mercyblitz opened this issue Apr 16, 2019 · 172 comments
Assignees
Labels
bug Something isn't working

Comments

@mercyblitz
Copy link
Owner

mercyblitz commented Apr 16, 2019

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

【勘误汇总】

@mercyblitz mercyblitz pinned this issue Apr 16, 2019
@zhengjiangming
Copy link

zhengjiangming commented Apr 17, 2019

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

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

@RockFishChina
Copy link

RockFishChina commented Apr 17, 2019

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

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

@RockFishChina
Copy link

RockFishChina commented Apr 18, 2019

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

行为组合成注解 ?


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


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

@wqyblue3316
Copy link

wqyblue3316 commented Apr 18, 2019

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

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

@RockFishChina
Copy link

RockFishChina commented Apr 18, 2019

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

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

@Yuhuiyang-Dev
Copy link

Yuhuiyang-Dev commented Apr 18, 2019

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

✅ 谢谢反馈,已采纳~

@Yuhuiyang-Dev
Copy link

Yuhuiyang-Dev commented Apr 18, 2019

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

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

@alonecong
Copy link

alonecong commented Apr 19, 2019

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

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

@nosqlcoco
Copy link

nosqlcoco commented Apr 19, 2019

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


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

@nosqlcoco
Copy link

nosqlcoco commented Apr 19, 2019

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

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

@stackfing
Copy link

stackfing commented Apr 19, 2019

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

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

@RockFishChina
Copy link

RockFishChina commented Apr 19, 2019

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

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

Repository owner deleted a comment from THyyy Apr 19, 2019
@refeccd
Copy link

refeccd commented Apr 20, 2019

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

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

@porscheYong
Copy link

porscheYong commented Apr 21, 2019

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

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

@THyyy
Copy link

THyyy commented Apr 21, 2019

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

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


⭐ 感谢 @THyyy 提供回复~

@mercyblitz mercyblitz added the bug Something isn't working label Apr 21, 2019
@mercyblitz mercyblitz self-assigned this Apr 21, 2019
@mercyblitz mercyblitz changed the title 《Spring Boot 编程思想 - 核心篇》勘误记录 【勘误记录】《Spring Boot 编程思想 - 核心篇》2019年3月第一版 Apr 21, 2019
@mercyblitz
Copy link
Owner Author

mercyblitz commented Apr 21, 2019

@xkcoding
91 页正文第一段。

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

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

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

#8 (comment)

@mercyblitz
Copy link
Owner Author

mercyblitz commented Apr 21, 2019

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

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

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

✅ 谢谢 @xkcoding 的反馈,已确认排版错误并收录~
#8 (comment)

@mercyblitz
Copy link
Owner Author

mercyblitz commented Apr 21, 2019

@xkcoding :
94 页正文第一段。

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

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

✅ 谢谢 @xkcoding 的反馈,已确认排版错误并收录~
#8 (comment)

@mercyblitz
Copy link
Owner Author

mercyblitz commented Apr 21, 2019

@xkcoding :
95 页正文第二段。

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

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

✅ 谢谢 @xkcoding 的反馈,已确认排版错误并收录~
#8 (comment)

@mercyblitz
Copy link
Owner Author

mercyblitz commented Apr 21, 2019

@xkcoding :
106 页正文第二段。

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

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

✅ 谢谢 @xkcoding 的反馈,已确认排版错误并收录~
#8 (comment)

@hulanhui
Copy link

hulanhui commented Apr 21, 2019

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

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

@mercyblitz
Copy link
Owner Author

mercyblitz commented Apr 21, 2019

@xkcoding :
103 页正文第二段。

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

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

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

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

@mercyblitz
Copy link
Owner Author

mercyblitz commented Apr 21, 2019

@bilaisheng :

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

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

@mercyblitz
Copy link
Owner Author

mercyblitz commented Apr 21, 2019

@bilaisheng :

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

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

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

@yxzjerryfish
Copy link

yxzjerryfish commented Apr 21, 2019

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

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

@Isaac-Zhang
Copy link

Isaac-Zhang commented Oct 13, 2019

第一轮阅读错误统计如下。

✅ 谢谢 @Isaac-Zhang 的反馈,反馈如下:


  • 第12页第二行:“控制台输入内容”改为"控制台输出内容"更为贴切。

该问题已在 #3 (comment) 中反馈


  • 第15页倒数第四行:“mvn dependency:tree-Dincludes...” -D前缺少空格。

该问题已在 #16 (comment) 中反馈


  • 第79页倒数第二行: "spring-boot-starter-undertow" 中starter前面多了空格。

该问题已在 #16 (comment) 中反馈


  • 第98页正文第五行:"@EnableAutoConfigura tion" 多一个空格。

该问题已被收录,属于“排版”问题


  • 第106页第三行:“@Compoentscan” 拼写错误。

该问题已被收录,属于“拼写”错误


  • 第108 & 109 & 111 & 112 & 118 & 151 & 152 页日志内容 格式错误,变为正文了。

该问题已被收录,属于“排版”错误,151 & 152 页未发现问题


  • 第110页倒数第四行:“@Compoennt” 拼写错误。

该问题已被收录,属于“拼写”错误


  • 第113页正文第六行:“@Condtinal” 应为"@conditional"。

该问题已在 #3 (comment) 中反馈

  • 第115页倒数第四行:注释中"see the...." the 后面缺少空格。

未发现该问题


  • 第131页官方示例解释第一行尾:“application. properties” 【.】后面多了一个空格。

该问题已在 #3 (comment) 中反馈


  • 第133页第三段第三行:@confiugration 拼写错误。

该问题已在 #3 (comment) 中反馈


  • 第153页倒数第二个表格头:“配属属性” 应为 “配置属性”。

该问题已在 #3 (comment) 中反馈


  • 第159页正文第二行:“<context:component- scan” 多一个空格。

该问题已在 #3 (comment) 中反馈


  • 第163页正文第二段第一行:“BeanDefinition Parser” 多一个空格。

该问题已在 #3 (comment) 中反馈


  • 第235页第一行:“Server ImportBeanDefinitionRegistrar” 多一个空格。

该问题已被收录,属于“排版”问题


  • 第245页第三行和第五行:“@Ipmort” 拼写错误,应为@import

该问题已在 #3 (comment) 中反馈


  • 第250页 8.2.1 理解Web自动装配:第一行最后“code- based”多一个空格。

该问题已在 #22 (comment) 中反馈


  • 第251页倒数第4行:最后“code- based”多一个空格。

该问题已在 #22 (comment) 中反馈


  • 第251页倒数第2行:"base class implementation of 【interace】..." 应为interface,貌似是spring bug,在最新的5.2.0.RELEASE已更正为接口名称替代。

该问题已在 #22 (comment) 中反馈


  • 第294页代码部分:“System"字号以及加粗格式不一致。

该问题已被收录,属于“排版”问题


  • 第295页注解部分第一行:”A single@....“ 艾特符号前缺少空格。

该问题已被收录,属于“排版”问题


  • 第296页9.1.1 上面第二行:“不过也妨” 应为 【不过也无妨/不过无妨】。

该问题已在 #3 (comment) 中反馈


  • 第296页9.1.1 注释第二行:“HSQLDB” 后面缺少空格分隔。

该问题已被收录,属于“排版”问题


  • 第301页9.2.1上面两段:序号格式不一致,(1)为中文格式,(2)为英文格式。

该问题已被收录,属于“排版”问题


  • 第303页倒数第五行:“theEnableAuto...” the 后面缺少空格。

该问题已在 #3 (comment) 中反馈


  • 第314页正文第六行:“Condition EvaluationReport....” 中间多空格。

该问题已被收录,属于“排版”问题


  • 第335页正文第三行:“AutoConfigurati onPackages” 有多余空格。

该问题已被收录,属于“排版”问题


  • 第341页第四行:github地址 project 前多空格。

该问题已在 #3 (comment) 中反馈


  • 第342页第二行:github地址 缺少【.】点号。

该问题已被收录,属于“排版”问题


  • 第346页正文第二段第一行:“spring-boot- starter” starter前多空格。

该问题已被收录,属于“排版”问题


  • 第347页第二个注释段第六行:“individual @Beanmethods” methods前缺少空格。

该问题已被收录,属于“排版”问题


  • 第350页倒数第六行:“boot.conte xt”多空格。

该问题已被收录,属于“排版”问题


  • 第365页最后一行:“@ConditionOnMissing Bean” 多一个空格。

该问题已被收录,属于“排版”问题


  • 第372页正文第三段第一行:“@ConditionOn Property” 多一个空格。

该问题已被收录,属于“排版”问题


  • 第382页第二行:“setResourceLoader(Resource Loader)” 多一个空格。

该问题已被收录,属于“排版”问题


  • 第391页正文第二段第一行:“.web(WebApplicationType. NONE)” NONE前面多一个空格。

该问题已被收录,属于“排版”问题


  • 第402页倒数第四行:“Spring ApplicationBuilder#run” 多一个空格。

该问题已被收录,属于“排版”问题


  • 第406页正文第二行:“等价于 newSpringApplication(Spring....” new 关键词后缺少空格。

该问题已在 #3 (comment) 中反馈


  • 第431页最后一段第二行:“SimpleApplicationEventMulticasterinitialMulticaster” initialMulticaster前缺少空格,并且描述修改为《SimpleApplicationEventMulticaster 类型的initialMulticaster属性中》更为合适?

该问题已被收录,属于“优化”方案


  • 第444页倒数第4 & 5行:“ApplicationConext” 应为ApplicationContext。

该问题已被收录,属于“拼写”错误


  • 第446页倒数第二行:“Application Event”多一个空格。

该问题已被收录,属于“排版”问题


  • 第453页倒数第二行:“anApplicationEvent” an后面缺少空格。

该问题已被收录,属于“排版”问题


  • 第455页表格第二行:“倒数第二行中 XMLWebApplicationContextsupports” supports前缺少空格。

该问题已被收录,属于“排版”问题


  • 第455页表格第三、四、五行:“都是第二行的 theConfigurable...” the 后面缺少空格。

该问题已被收录,属于“排版”问题


  • 第479页正文第四行:“(Objectevent)” event 前缺少空格。

该问题已被收录,属于“排版”问题


  • 第480页:
    • 构建泛型示例
    • 构建用户事件监听器

    上述2个示例代码重复。

该问题已在 #3 (comment) 中反馈


  • 第483页第10小节第四行:“ApplicationListene” 缺少字母r.

该问题已在 #3 (comment) 中反馈

  • 第490页第三行:“所以方法筛选的规则是....” 应该为“所有方法筛选的规则是......”

该问题已被收录,属于“优化”描述


  • 第499页正文倒数第二行:“MultipleSpring BootEventsListener” 多一个空格。

该问题已被收录,属于“排版”问题


  • 第506页第五行:“Class PathLoggingApplicationListener” 多一个空格。

该问题已被收录,属于“排版”问题


  • 第517页正文倒数第五行:"AbstractApplicationContext#createEnvironm ent"多一个空格。

该问题已在 #3 (comment) 中反馈


  • 第535页第一行:“SpringApplication构造器器”多一个器。

该问题已被收录,属于“排版”问题


  • 第535页第三行:“BeanDefinition Loader#load(Object)”中间多一个空格。

该问题已被收录,属于“排版”问题

  • 第537页注释第四行:“接着重用并允许”应该为正文。

该问题已被收录,属于“排版”问题


  • 第548页第三段注释:“org.springframework. core” core前多一个空格。格,"org.springframework.core.annotati on. Order" on 前后各自多一个空格。

该问题已在 #3 (comment) 中反馈


  • 第593页正文第二行:“LoggedExceptionHandlerThreadLocal#initia lValue()”多一个空格。

该问题已在 #3 (comment) 中反馈


以上错误均已去重!

@Isaac-Zhang
Copy link

Isaac-Zhang commented Oct 28, 2019

第二轮阅读错误统计如下。


✅ 谢谢 @Isaac-Zhang 的反馈,反馈如下:


  1. 第69页正文第三行:“org.springframework. boot” boot前多一个空格。

该问题已被收录,属于“排版”问题

  1. 第71页正文第三行:“spring-boot- starter-reactor-netty” starter前多一个空格。

该问题已被收录,属于“排版”问题

  1. 第89页正文第三段第一行:”Application Context“中间不应有空格。

该问题已在 #3 (comment) 反馈


以上内容均已去重!

@useaname
Copy link

useaname commented Nov 21, 2019

P207下方:“按照层析性分析”--> "按照层次性分析" ?


✅ 谢谢 @useaname 的反馈,该问题已被收录,属于“拼写”错误

@wentworth-miller
Copy link

19年3月第1次印刷,第5章,102页,@component @configuration @SpringBootConfiguration 三者的派生性的描述,已经提到了并且源码贴出来了,@SpringBootConfiguration 由 @configuration ‘派生’来的,而在第7章对于 170页,多层次@component ‘派生性’ 的描述,在171页,开头的文字描述“惊奇地发现。。。” 感觉和前面重复了,好像前面没有介绍这边的内容,在第7章这里又重新的介绍了一遍,是不是可以把这里的内容重新润色一下,引用之前的内容就好了?

@useaname
Copy link

P140 第二处代码

public class NameRepositorHolder

在工程中的类名为

AutowiredBeanHolder

@useaname
Copy link

useaname commented Nov 22, 2019

image

image

在 spring-framework-samples/spring-framework-5.0.x-sample/pom.xml 中 name 出现重复

这个问题欢迎提交 PR 修复~

@Fvames
Copy link

Fvames commented Nov 22, 2019

✅ 谢谢 @Fvames 的反馈,反馈如下:


第 340 页,最后一行 ${modu le} 应为 ${module}

该问题已被收录,属于“排版”问题


第 363 页,非代码最后一行 getType(Strnig) 应为 getType(String)

该问题已被收录,属于“编写”问题


第 415 页,倒数第二行 ApplicationListener。setListeners 应为 ApplicationListener.setListeners

该问题已被收录,属于“编写”问题


第 500 页,第二个方法内部注释:「均已」 应为「均以」

@xmlin1995
Copy link

xmlin1995 commented Dec 23, 2019

154页7.3节第三行【本节将主题定为“Spring Framework注解编程模型”】和本节的题目【Spring注解编程模型】不统一


⭐️ 感谢 @xmlin1995 的反馈,通常 Spring Framework 和 Spring 是同意,所以此处可修或不修。

@useaname
Copy link

image

image

在 spring-framework-samples/spring-framework-5.0.x-sample/pom.xml 中 name 出现重复

这个问题欢迎提交 PR 修复~

@mercyblitz 已提交。

@mercyblitz
Copy link
Owner Author

image
image
在 spring-framework-samples/spring-framework-5.0.x-sample/pom.xml 中 name 出现重复
这个问题欢迎提交 PR 修复~

@mercyblitz 已提交。

感谢 @useaname 提交,已合并到代码

@mercyblitz
Copy link
Owner Author

@feichangxinfu 反馈 https://github.com/mercyblitz/thinking-in-spring-boot-samples/issues/60:

第329页,第2行,“否则,当自动装配类出现在...” 表述有误

应当是 “否则,当自动装配类未出现在...”


感谢 @feichangxinfu 的反馈,该问题已被收录,属于“编写”问题

@BearBabyXu
Copy link

第216页
并且Bean名称从“transactionalServiceBean” 调整为“txManager2”
是否应为 调整为“txManager”?

@mitays
Copy link

mitays commented Jul 5, 2020

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

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

这里要么是equals(BOOT_INF_CLASSES),要么是startsWith(BOOT_INF_LIB);同时entry.isDirectory()在何时成立呢

@WoodZzzzz
Copy link

第50页,第二行,“再追加sun.net.www.protocol" , 这里应该是想表达不管“java.protocol.handler.pkgs”是否存在,在后面追加“org.springframework.boot.loader”包路径吧, 我理解的是 “sun.net.www.protocol" 等价于”java.protocol.handler.pkgs"
不知道是不是我理解有误呢

@lonffrey
Copy link

lonffrey commented Apr 2, 2021

第277页 “8.3.3 配置条件装配原理”的第一自然段中
原文为:@Profile(“Java7”)所标注的LambdaCalulatingService并未注册在Spring应用上下文中。
应修改为:@Profile(“Java7”)所标注的IterationCalculatingService并未注册在Spring应用上下文中。

@DamianSheldon
Copy link

P374 FormatterBootstrap 的源码应该贴错了一个版本,书中贴的这个版本是不会输出 Bean name 的。

@Yuhuiyang-Dev
Copy link

Yuhuiyang-Dev commented Jan 18, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests