我推荐的 Java Web 学习路线

晚上在 V2 的 Java 的节点看到有人问 Java Web 书籍推荐。我这半年多的时间,也从别的方向开始转向 Java 服务端开发,因此,我来讲下个人学习路线,帮助有须要的朋友把半只脚踏进 Spring 大门。java

本文所描述的路线,适合有其余面向对象语言编程经验,具有数据结构、算法、网络、数据库、设计模式、Linux 使用经验的人,若是你没有基础,这篇文章可能不适合你。git

工欲善其事必先利其器

电脑系统推荐使用 *nix ,不管是 Linux 仍是 macOS 都有强大的工具能让你学习的过程驾轻就熟,Windows 系统也不是不能够,但 Windows 系统的终端我的很不喜欢。github

IDE 推荐 IntelliJ IDEA,使用 Eclipse 也是能够的,不过如今愈来愈多的人开始使用 IntelliJ IDEA。web

学习的过程当中你会遇到各类各样的问题,无脑推荐 Google,鉴于目前国内的网络环境,你须要有利器可以访问 Google(好比 AT&T 漫游,误)。redis

Java SE

Java 基础有 Java编程思想Java核心技术Head First Java 等,我选择的是 Java编程思想(第4版),第 22 章是讲 GUI 的,能够不看。另外,Java 核心技术(卷1卷2)中讲了 Java 编程思想没有涉及的网络及 JDBC。算法

如今你有 Java 基础了,可是如今 Java 发展到 1.9 的版本了,怎么办?spring

Java编程思想(第4版) 基本覆盖了 1.5 版本的内容,1.六、1.7 版本的更新,能够经过网上查资料来学习。1.8 版本有比较大的更新,建议买本书系统学习,我使用的是 Java 8 实战数据库

好了,如今你会写 Java 代码了,可是 .java 文件如何成了 .class 文件,.class 文件长成什么样,又如何被加载到虚拟机中执行等等若干问题,难道你很差奇。这里推荐深刻理解Java虚拟机(第2版)编程

随着时间流逝,你写了很多代码。但条条大路通罗马、再加上语言自己的语言负担,你或许会写出不那么优雅的代码,你须要前辈的经验来写清晰、健壮、高效的代码。Effective Java 就是这么一本书。固然,还有重构代码整洁之道这样的书,但这里只讨论 Java 。设计模式

Web

强烈不推荐上来直接上框架,你须要先了解 JSP、Servlet,尤为是 Servlet。这里我使用的是 Head First Servlets & JSPServlet与JSP核心编程这本书网上评价也不错。

好了,如今来讲企业中的框架该怎么学。最最最重要的是,学的过程当中必定要动手。

万事开头难。我最开始接触的时候,也是不知道如何开始框架的学习,在网络找了不少方法,浪费了很多时间,记住只有适合本身的才是最好的。在开始介绍前,再重复一遍,一动手尝试,二大胆猜想并验证。

1. Spring

在我刚开始的时候,不少人推荐直接读官方文档,通过验证,这种方法不适合初学者,或者说不适合我。

这里我使用的是Spring实战,学 Spring 必定要理解依赖注入(你说控制反转也行)和 AOP,跟着这本书敲,书中关于配置的东西必定要看仔细、理解好,否则配错了,本身找起来可能很麻烦。

2. Spring 与 MyBatis、Redis 等其余框架的整合。

MyBatis 推荐官方文档,而后找个 demo 作一下,本身再练习练习就能够了。

与 Spring 整合的时候参考文档,能够很简单的完成。

Redis 等其余框架的整合参考 Spring 实战,或者找资料都是能够的。

其余

要不要看视频这个事,个人观点是能不看就不看,但不要因噎废食。慕课网上有 SSM 框架的视频,对于这个路径,个人经验是直接跳过前两个,即战斗伊始--Spring转战阵地--SpringMVC,这两部分看 Spring实战就能够了,后边两个能够看看。

注意,针对这个慕课网这个视频我这里解释的是上文的你都作了,且本身写的服务可以正常运行。

刚接触框架配置很容易出错,出错的时候必定要耐心看输出的信息,有的很简单多是手误,有的可能可能须要你对框架有些理解,因此 Just Google It

手动倒入 jar 包费时费力,上 maven 啊。

好了,你的服务跑起来了,你的半只脚已经进入了 Spring 的大门,请继续加油。


我在 Github 上有一个基于 SSM(Spring、Spring MVC、MyBatis)的小项目,部分学习内容会在该项目中使用。

该项目 Spring 相关配置,彻底使用基于注解的方式。博主在刚接触各类配置的时候,绕了一些弯路。

对于刚接触这些框架的朋友,该项目或许会有些许帮助。若是在理解该项目时或参考时遇到任何问题,欢迎经过你能找到的任何方式联系我,很是乐意共同窗习。

项目地址为:spittr

文中提升了慕课网,若是你喜欢 xml 配置的方式,可参考另一个项目 seckill 。该项目是博主在慕课网上学习该课程的源代码,项目中没有彻底采用基于注解的方式,相比而言,该项目在配置方面更加老道。

我写完了,若是你有什么不明白的能够发邮件给我。若是文中有不合适的地方,也请指正。个人邮箱地址是:shixj.cs@foxmail.com

相关文章
相关标签/搜索