Preface
前言
本书第1版发行后,Jersey版本从2.9更新到了2.22.2,此间REST服务得到了更广泛的认可和使用。与此同时,Java 8、Spring Boot和Docker的爆发式发展,使得Java领域的RESTful开发有了新的发展。
第2版变更
迫不及待,这是我想为读者更新REST服务新发展的心情,遂有此第2版。首先,我们要拥抱Java 8。lambda表达式在大数据处理,尤其在Spark中是默认的语法表达;Java 8带给我们的不只是“语法糖”,而是开发和执行效率的提升。我从实践中得到了其中的好处,也希望读者能跟上时代的步伐。其次是Spring Boot,这是Java领域实现微服务的事实标准框架。我已经无法回去适应部署war到Tomcat的时代,请保守的读者原谅我的情不自禁。再次是Docker,我希望读者具备使用Docker完成开发自测阶段的一切,也希望读者能运用Docker实现微服务的部署和可伸缩实践。
从第1版第1次印刷至今,我始终关注着读者的反馈。邮件都做了认真的回复。根据读者的反馈,我在第2版中重新梳理了章节的结构,删除了第1版中反馈不好的第9章和第11章,调整后的章节与第1版的对应关系如下。
❏第1章合并了第1版的第1章和第2章。
❏第2章对应第1版第3章。
❏第3章对应第1版第4章。
❏第4章包含了第1版的第8章。
❏第5章在第1版的基础上做了更新。
❏第6章包含了第1版的第7章,并升级了第1版2.5节的示例。
❏第7章和第8章是新增章节。
❏第9章对应第1版第10章。
❏第10章包含了第1版的第6章。
与许多技术作者一样,写书的时间是挤出来的。如果精力尚可,每晚7点到9点、11点到凌晨2点是我动笔的时间,偶尔,早上6点到8点我也会赶赶。写书成为我梳理、总结和思考的最佳方式。
于此过程,我总结了3句话与读者共享。搞技术的人,是停不下来的。时而要开疆拓土,学习和研究新的知识点,弥补自己的技术债;时而要运筹帷幄,将知识点梳理成线,编织成网;时而要深耕细作,面对当下要攻坚的业务所对应的知识点,深入研究、反复实践、勤于思考、勇于交流。只有这样,我们才可以坦然地用手推一下眼镜,谦虚地告诉别人,“其实我是个程序员”。
源代码
本书提供源代码下载,地址是https://github.com/feuyeux/jax-rs2-guide-II。
勘误和交流
本书的勘误会在https://github.com/feuyeux/jax-rs2-guide-II/wiki发布,欢迎读者批评指正。
❏我的邮箱:feuyeux@163.com
❏我的新浪微博:六爷1_1
致谢
感谢我的妻子Caroline和女儿Doris一直以来的关心和陪伴。
感谢华章公司的杨福川对我的专业指导。感谢华章公司编辑高婧雅、李艺专业和耐心的审阅和指正。
感谢阿里巴巴速卖通中间件团队在微服务、容器化上对我的影响。感谢雷卷、许晓斌在DDD、Spring Boot和Docker上对我的帮助。感谢Technicolor的敏捷团队、阿里巴巴国际站测试架构团队,前者带我悟得Jersey,后者给我深入实践的机会。
最后我要感谢阿里巴巴阿里云事业群大安全的各位兄弟对我的支持。我正在这里,与大家一天天、一步步将微服务和容器化落地生花。