## 1.5 如何阅读本书 笔者作为一个从事Java开发19年的程序员,这里给新手一些诚恳的建议,用于帮助新手掌握Spring Boot 2 如果你是Java新手,Spring新手或者是Spring Boot新手,可以直接阅读本书,建议先按照本书每章的例子先模仿一遍。不要急于按照自己项目要求去改。这样很容易掌握知识不牢固,不全面。如果遇到自己暂时无法理解的知识,也建议优先记住这些知识点。本章的例子ibeetl.com 当理解完书中的知识,能运行书中提供的例子(推荐手写,或者从官网下载例子)后,可以尝试主动制造一些错误。看看Spring Boot 会给你什么样的错误提示,以2.4.6 例子为例,如果去掉 @PathVariable会怎么样,或者如果写成value="/usercredit/{id123}" 会怎么样,甚至,如果getCreditLevel 改成 getCreditLevelTest会有什么后果。通过主动制造错误,观察Spring Boot应用的错误信息或者请求对应的输出来深入学习Spring Boot。这不仅仅是学习Spring Boot,也是学习其他框架,学习其编程技术甚至是各种编程语言的一种学习窍门 本书每章都会提及Spring Boot框架的一些接口或者关键类,不了解这些类的实现细节,你仍然可以运用Spring Boot,如果想深入掌握Spring Boot,建议阅读这些类的源代码了解这些类的**职责**以及如何实现职责。可以通过IDE的快捷键打开这些类,以Eclipse 为例子,用ctlr-t 打开这些类去阅读Spring源码,IDEA则使用ctrl-o可打开这些类。 可以在这些类的方法里打上断点,在运行本书的例子的时候,查看在断点处发什么来帮助你理解Spring Boot。比如在14章Redis实现分布式缓存的时候,提到了RedisCacheManager,你可以阅读这个类的源码,并在关键的getCache方法上打上断点观察如何实现Redis缓存。 如果对于这些类还是无法理解,可以通过搜索引擎搜索这些类,总有些博客和技术文章在讨论这些类的职责和实现方式 谨慎对待互联网搜索结果,这是因为Spring Boot 2 技术本身较为新,发展也较快,通过互联网搜索结果需要关注一下文章发布日期,文章适用版本,也谨慎对待互联网对于Spring Boot源码分析文章,因为很容易过时。如果你在使用Spring Boot 2中遇到任何问题,也都欢迎到社区交流,社区地址是ibeetl.com。 > 确定类的职责是一种终极设计目标,Spring源码如此庞大,但没个类的职责都划分的非常清楚,通过分析Sprin源码,能提高自己的代码设计能力。关于职责,可以参考[GRASP-职责分配原则](http://www.kamilgrzybek.com/design/grasp-explained/)