引言

引言

“所以,你打算把我调到开发岗位吗?”

“嗯,我是这样想的。”

从此,我成了一名Java开发者。不久,我便接手了一个写得很糟糕并且满是bug的ETL程序,它所依赖的框架早在我读高中的时候就已经废弃了,而且没有测试代码。我天真地想:我学Java差不多有一年了,对我来说,添加测试应该不难,只要仔细地重构代码就行了。但是,这些XML文件有什么用?独立文件中的SQL是怎么进入DAODAOImpl的?程序中为什么有Ant和Maven的构建脚本?(这个问题我一直没想明白。)Ant和Maven又是什么?我又是Google搜索,又是请教专家,还动手做了试验,最终才好不容易搞定了这些问题。然而,写完自己第一个真正的Java程序时,想起这种语言的巨大反差带给我的折磨,我仍然惊魂甫定。

多年后,我晋升为高级开发工程师,团队决定新招一名初级开发人员。来了一个小伙子,他大学毕业刚一年,在之前的工作中主要使用JavaScript。但是,他在学校学过Java,并且很有天分。实际上,他的毕业设计是用C++语言从零开始编写了一个3D图形渲染器。入职第一天,我给他展示了一个小的Web应用,这个应用以后就由他来做,并向他介绍了整个项目。很快,我就发现他对Java的理解只停留在语言层面,和几年前的我一模一样,而且他对Maven、MyBatis及Tomcat一概不懂。

对我来说,为自己的无知找个借口很容易,比如没有系统地学习过计算机科学。这个小伙子虽然在学校学过编程,可还是被难住了。我们的求学道路截然不同,但结果都是一名不合格的Java开发者。事实证明,大多数Java教学只停留在对标准库的讲解上。我编写本书的初衷是希望自己当初开始学Java时能有这样一本书。我希望在你开始Java职业生涯时,本书能给你提供一些帮助。祝你编码快乐!

电子书

扫描如下二维码,即可购买本书电子版。

目录

  • 版权声明
  • 引言
  • 第 1 章 入门介绍
  • 第 2 章 Java虚拟机
  • 第 3 章 构建工具
  • 第 4 章 测试
  • 第 5 章 Spring
  • 第 6 章 Web应用程序框架
  • 第 7 章 Web应用程序部署
  • 第 8 章 使用数据库
  • 第 9 章 日志
  • 第 10 章 有用的第三方库
  • 附录 A Docker