目标
面向薪资编程,学习实际工作要用的技术,并能 独立 做出一个具有完整功能的 Java Web 项目。
MySQL 数据库(1 周)
企业中大部分业务数据都是用关系型数据库存储的,因此数据库是后台开发同学的必备技能,其中 MySQL 数据库是目前的主流,也是面试时的重点。
知识
- 基本概念
- MySQL 搭建
- SQL 语句编写
- 约束
- 索引
- 事务
- 设计数据库表
- 性能优化
学习建议
其中,SQL 语句编写 和 设计数据库表 这两个能力一定要有! 比如让你做一个学生管理系统,你要能想到需要哪些表,比如学生表、班级表;每个表需要哪些字段、字段类型。 这就要求大家多写 SQL、多根据实际的业务场景去练习设计能力。
资源
- 视频
- ⭐ 老杜 - mysql 入门基础 + 数据库实战:https://www.bilibili.com/video/BV1Vy4y1z7EX(较新、内容相对精炼,有习题)
- 尚硅谷 - MySQL 基础教程:https://www.bilibili.com/video/BV1xW411u7ax(小姐姐讲课,但感觉音质一般
- 在线练习
- ⭐ SQL 自学网:http://xuesql.cn/
- ⭐ SQL 在线运行:https://www.bejson.com/runcode/sql/
- 文档
- SQL - 菜鸟教程:https://www.runoob.com/sql/sql-tutorial.html
- MySQL - 菜鸟教程:https://www.runoob.com/mysql/mysql-tutorial.html
开发框架(2 个月)
Java 之所以能成为主流的企业开发语言,很大一部分原因是它完善的框架生态,用好框架,不仅能够大大提升开发效率,还能提高项目的稳定性、减少维护成本。 开发框架是后台开发工作中不可或缺的,也是面试考察的重点,一定要好好学。 不知道 Java 能做什么的朋友们,学完开发框架,就会有答案啦。
知识
- Java Web
- 描述:Java 网页应用开发基础
- 前端基础
- XML
- JSON
- Servlet
- Filter
- Listener
- JSP
- JSTL
- Cookie
- Session
- Spring 5
- 描述:Java 轻量级应用框架
- IOC
- AOP
- 事务
- SpringMVC
- 描述:Java 轻量级 web 开发框架
- 什么是 MVC?
- 请求与响应
- Restful API
- 拦截器
- 配置
- 执行过程
- MyBatis
- 描述:数据访问框架,操作数据库进行增删改查等操作
- 增删改查
- 全局配置
- 动态 SQL
- 缓存
- 和其他框架的整合
- 逆向工程
- MyBatis Plus
- 描述:Mybatis 的增强工具,能够简化开发、提高效率
- 引入
- 通用 CRUD
- 条件构造器
- 代码生成器
- 插件扩展
- 自定义全局操作
- SpringBoot 2
- 描述:简化 Spring 应用的初始搭建以及开发过程,提高效率
- 常用注解
- 资源整合
- 高级特性
- 本地热部署
- Spring Security
- 描述:Spring 的安全管理框架
- 用户认证
- 权限管理
- Maven / Gradle
- 描述:项目管理工具
- 构建
- 依赖管理
- 插件
- 配置
- 子父工程
学习建议
由于技术较多,且框架之间存在一定的联系,因此建议大家看同一系列的视频教程(尚硅谷、狂神说等等都可以),以保证学习内容的连续以及体验上的一致。 学这些技术的时候,一定要多记笔记,并且跟着老师写代码。原理部分不要太过纠结,先以能跟着敲出代码、写出可运行的项目为主,有些东西做出来也能帮助你更好地理解理论。 学习顺序挺重要的,建议不要一上手就学 SpringBoot。只有先学习下自己整合框架的方法,才能帮你理解 SpringBoot 解决的问题,感受到它的方便和高效。 Maven / Gradle 当工具用就好,面试基本不问,跟着框架教程去用就行了,先不用花太多时间去深入学。
资源
视频(按顺序看)
- ⭐ 尚硅谷最新版 JavaWeb 全套教程:https://www.bilibili.com/video/BV1Y7411K7zz(前端部分最好也看下)
- ⭐ 尚硅谷 - Spring 5 框架最新版教程(idea 版):https://www.bilibili.com/video/BV1Vf4y127N5
- ⭐ 尚硅谷 - SpringMVC 2021 最新教程:https://www.bilibili.com/video/BV1Ry4y1574R
- ⭐ 尚硅谷 - MyBatis 实战教程全套完整版:https://www.bilibili.com/video/BV1mW411M737
- ⭐ 尚硅谷 - MyBatisPlus 教程:https://www.bilibili.com/video/BV1Ds411E76Y
- Maven 零基础入门教程:https://www.bilibili.com/video/BV1TW411g7hP(搞不懂 Maven 可以看看)
- ⭐ 雷丰阳 2021 版 SpringBoot2 零基础入门:https://www.bilibili.com/video/BV19K4y1L7MT
- 尚硅谷 - SpringSecurity 框架教程:https://www.bilibili.com/video/BV15a411A7kP
开发规范(3 天)
开发不规范,同事两行泪。
开发规范是团队开发中必须遵守的,有利于提高项目的开发效率、降低维护成本。
知识
- 代码规范
- 代码风格
- 命名
- 其他规则
- 提交规范
学习建议
简单过一遍大厂团队的规范手册就好了,以后做项目的时候能想起来的话就去使用,或者从书中、网上查规范,再去遵守。 项目做得多了,自然会养成好的习惯,不用刻意去记(毕竟每个团队规范也不完全相同,背了也没用)。
资源
- 书籍
- ⭐ 阿里巴巴 Java 开发手册:https://developer.aliyun.com/graph/java(搜索《Java 开发手册》)
- 视频
- 华山版《Java 开发手册》独家讲解:https://developer.aliyun.com/live/1201
- 文档
- Google Java Style Guide:https://google.github.io/styleguide/javaguide.html(谷歌 Java 代码规范)
Git(3 天)
此前大家可能听说过 GitHub,一流的代码开源托管平台。 Git 和它可不一样,是一个版本控制工具,可以更好地管理和共享项目代码,比如把自己的代码传到 GitHub 上、或者从远程下载。 无论自己做项目、还是团队开发,Git 都是现在不可或缺的神器。
知识
- 工作区
- 分支
- 代码提交、推送、拉取、回退、重置
- 分支操作
- 代码合并、解决冲突
- 标签
- cherry-pick
学习建议
每个命令跟着敲一遍,有个大致的印象,会用即可,用的多了自然熟悉了。
资源
- 视频
- ⭐【尚硅谷】5h 打通 Git 全套教程丨 2021 最新 IDEA 版 https://www.bilibili.com/video/BV1vy4y1s7k6
- 书籍
- 猴子都能懂的 Git 入门 https://backlog.com/git-tutorial/cn/
- ⭐ GitHub 漫游指南 https://github.phodal.com/
- 文档
- GitHub 官方文档:https://docs.github.com/cn
- 游戏
- Learning Git Branching:https://learngitbranching.js.org/?locale=zh_CN
Linux(2 周)
企业中的很多前后台项目都是部署在 Linux 服务器上的,因此很有必要熟悉 Linux 的操作和脚本的编写。后面学微服务、学架构都是在多台。
知识
- Linux 系统安装
- 环境变量
- 文件管理
- 用户管理
- 内存管理
- 磁盘管理
- 进程管理
- 网络管理
- 软件包管理
- 服务管理
- 日志管理
- Linux 内核
- 常用命令
- 常用环境搭建
- Shell 脚本编程
- VIM 的使用
学习建议
多动手实践,建议自己购买一台云服务器,并且在本地搭建 Linux 虚拟机环境。 一定要自己从 0 开始手敲命令安装软件、部署服务,熟悉整个项目的上线流程。 每个命令至少要跟着敲一遍,了解它们的作用,并通过自然地练习,熟悉常用的 Linux 命令。 记不住没关系,用文档查就行了。 先会用,再理解。
资源
- 视频
- ⭐ 2021 韩顺平 一周学会 Linux https://www.bilibili.com/video/BV1Sv411r7vd(基于 CentOS 7.6 )
- 书籍
- 《鸟哥的 Linux 私房菜 —— 基础篇》http://cn.linux.vbird.org/linux_basic/linux_basic.php(经典)
- 文档
- Linux 工具快速教程:https://linuxtools-rst.readthedocs.io(基础、工具进阶、工具参考)
- 实战
- ⭐ 蓝桥云课 Linux 基础入门:https://www.lanqiao.cn/courses/1
- 腾讯云动手实验室:https://cloud.tencent.com/developer/labs
- 阿里云体验实验室:https://developer.aliyun.com/adc/labs/
- 阿里云知行实验室:https://start.aliyun.com/
- 华为云沙箱实验室:https://lab.huaweicloud.com/
- 社区
- Linux 中国:https://linux.cn/
- 工具
- ⭐ Linux 命令搜索:https://wangchujiang.com/linux-command
- Linux 命令大全手册:https://www.linuxcool.com/
- Linux 命令示例:http://linux-commands-examples.com/
- 宝塔 Linux 面板:https://www.bt.cn/