在图中,我把Java学习分成3个阶段:
基础知识
Spring
应用服务
阶段划分的原则是“由浅入深”,利于读者层层递进的学习。
内容选编的原则是 “有用”,有利于读者理解Java原理,对实际工作有用。
下面是各个阶段的简要介绍。
基础知识
学习Java基础知识,可供选择的书很多,但它们大都有着一个缺点,那就是内容庞杂,有些内容脱离实际,甚至是过时。
对此,在这一阶段,我精选了Java的基础知识,核心原则就是“有用”。并调整了章节顺序,从而有利于读者循序渐进的学习。
关于学习资料,我建议阅读《Java核心技术 卷I》,并辅于上网搜索。
Spring
目前,Spring已经成为Java开发的基础设施,是任何一个Java程序员都必须掌握的内容。因此,在掌握了Java基础知识后,接下来应转入Spring的学习。
但在正式开始学习Spring之前,还有两个问题要解决:
Spring相关jar包的管理。
测试程序的编写及管理。
所以,在正式接触Spring知识之前,路线图首先安排了 Maven和Junit的学习。
Maven和Junit,从实用角度看都不难理解,上网搜索就可以满足学习的需要。
Spring的学习又分为两个阶段:Spring Core和Spring MVC。
Spring MVC是建立在Spring Core之上,在Web MVC领域的具体应用。因此,在学习Spring MVC之前,除了学习Spring Core,还必须掌握与Java Web相关的知识,其中最核心的就是Servlet。
在通常的Java学习中,会建议学生要掌握一定的前端知识,从而便于对Spring MVC进行测试。但前端知识庞杂,且边界不好界定,从而就给Java学习者带来很大的负担。
为此,在本学习大纲中,借鉴与行业通用做法,我推荐学生通过junt和HttpClient组合,用单元测试来满足Spring MVC的测试需求。
这样,在Java学习中,就完全避免了对前端知识的接触,极大的提高了学习效率。
特别提醒一下,Spring是Java学习中最难的部分。但是,一旦跨过这个门槛,从此之后,你基本就踏上了Java学习的通途。因此,对Spring学习一定有决心,要敢于迎难而上,不轻言放弃。
关于Spring的学习资料,我推荐《Spring实战》,虽然我个人对它并不十分满意,但已是我读过的最好的书。阅读的过程中,真遇到不理解的东西,记着随时上网搜索。
应用服务
在这一部分,我列举了Java开发中最常用的“中间件”。这些中间件涵盖了各个领域,包括持久化、缓存、队列、反向代理等。
其中列举的东西,虽然涉及广泛,但内容都相对独立,难度也有限。因此通过上网搜索,就可以满足学习的需求。
在掌握了这些中间件之后,你就会成长为一个能够独立编写Java后端程序,并对架构有一定理解的初级Java软件工程师。
祝你学习顺利!