最近收到很多小伙伴在后台给我的私信说可不可以发布一篇关于初学者的学习路线体系并把资料整理一下,以下是我整理的相关资料仅供大家参考学习:

Java 基础

Java 是一门纯粹的面向对象的编程语言,所以除了基础语法之外,必须得弄懂它的 oop 特性:封装、继承、多态。此外还有泛型、反射的特性,很多框架的技术都依赖它,比如 Spring 核心的 Ioc 和 AOP,都用到了反射,而且 Java 自身的动态代理也是利用反射实现的。此外还有 Java 一些标准库也是非常常见,比如集合、I/O、并发,几乎在 Web 开发中无处不在,也是面试经常会被问到的,所以在自学 Java 后端之前,不妨先打好这些基础。

关于 sql 方面:SQL 教程、MySQL 教程

我是了解了一些基础语法之后,就直接跟着老师做一些表操作实战练习了,比如单表查询、多表查询等。我建议学 sql 切勿眼高手低,需多加练习,不要只看懂了就行,因为工作中写得一手简练的 sql 是非常重要的。在这里我说下我在项目一直秉承着 sql 语句是能避免多表查询就避免多表查询,能够分开多条语句就分开多条语句,因为这里涉及到多表查询性能和数据库扩展的问题。

在如今 Java 开发中,很多开发者只知道怎么使用框架,但根本不懂 Web 的一些知识点,其实框架很多,但都基本是一个套路,所以在你学习任何框架前,请把 Web 基础打好,把 Web 基础打好了,看框架真的是如鱼得水。

关于 Http 协议

关于 Web 基础这方面数据推荐,我看的是「Tomcat 与 Java Web 开发技术详解」这本书,很详细地讲解了整个 Java Web 开发的技术知识点,但现在看来,我觉得里面讲的有一些技术确实有点老旧了,不过可以了解一下 Java Web 开发的历史也是不错的。

你只要了解它其实就是一个 Servlet 就行了,它的一些标签用法,我认为了解就可以了,因为现在互联网几乎没哪间公司还用 JSP,除了一些老旧的项目。现在都是流行前后端分离,单页应用,后端只做 API 接口的时代了,所以时间宝贵,把这些时间重点放在 Servlet 规范上面吧。

关于 Tomcat

它其实就是一个 Web 容器,老师给我们说的就是把它想象成一个缸,我们写的后端项目都要部署到Web容器才能运行,它其实是一个遵循 Http通过Socket 通信与客户端进行交互的服务端程序:Tomcat结构及处理请求过程

Web 主流框架

Java Web 框架多如牛毛,等你有一定经验了,你也可以写一个 Web 框架,网上很多说 Spring、Struts2、Hibernate 是 Java 三架马车,一开始只需要上手 Spring、SpringMVC、Mybatis 就可以了,特别是 Spring 框架,其实 Spring 家族的框架都是很不错的。

Spring其核心思想就是 IOC 和 AOP:

Spring 面向切面编程SpringMVC 它的思想是全部请求统一用一个 Servlet 去做请求转发与控制,这个 Servlet 叫 DispatcherServlet,Mybatis 它可实现动态拼装 sql,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。

Web 框架进阶

使用了 SSM 框架后,你会觉得框架也不过这么回事,如果你对 Spring 有过大概了解,你也会产生想写Spring 的心思了,一个轻量级 Web 框架主要具备以下功能:

可读取用户自定义配置文件,并以此来初始化框架;

具备 Bean 容器,管理项目的类的对象生命周期;

具备依赖注入,降低类之间的耦合性;

具备 AOP 功能,使项目可进行横向编程,可不改变原有代码的情况增加业务逻辑;

具备 MVC 框架模式。

其实除了 SSM 之外,Web 框架可谓是百家齐放,其中以 Spring 全家桶最为耀眼,在这里我极力推荐两个 Spring 家族框架:SpringBoot,SpringBoot 弥补了 Spring 配置上的缺点,再也不用为繁杂的 xml 费劲精力了,堪称是 Java 后端开发的颠覆者。

Git:世界上最先进的分布式版本控制系统,建议所有初学者从命令行开始使用 Git!

开发工具

工欲善其事,必先利其器,以下是我推荐的一些开发工具:

Intellij IDEA:Java 开发最好的 IDE,这个是公认的,我一开始是用 Eclipse 的,后来用了 Intellij IDEA,才发现 Eclipse 就是一坨屎,所以我以过来人劝你们不要使用 Eclipse,直接 Intellij IDEA!

Chrome:人生苦短,请用 Chrome,来不及解释了,快上车!