Java高级开发工程师就业班

120个学习日(6个月),每天的课程安排

高洛峰

发布时间:2021-05-21

课程安排说明:

Java高级开发工程师就业班分为五个阶段,分别是夯实基础、初识JavaWeb、企业级框架、微服务 + 分布式 + 架构思维、最后一个阶段安排入职企业实习。这是融职教育历经多年的培训经验总结出来的, 而且每个阶段都有对应的项目案例。 同样的课程有两种学习方式, 一种是”面授“进班学习,这种学习模式特别适合零基础的小白学习成长。 面授班进度统一,完全按照课程安排进行授课,每天4个小时授课,安排8个小时练习, 作业、笔记、练习、测试、学习资源下载等全部在自主研发的学习系统上完成,为自己的成长记录留痕。 另一种模式是”坐班“的学习模式,按照规定的时间上下班,在自己的工位上在学习系统上学习,课程内容和面授班是同步的,技术总监身边指导答疑解惑。 这种模式适合有基础或学习效率高的学员,最快可以一天完成两关的内容,6个月的课程,最快三个月毕业,当然也可以两天完成一关的内容。

阶段一:夯实基础

掌握JAVA基本语法,常用工具类,集合(List,Set,Map),IO流,网络编程,多线程,注解反射等。学完这些内容,是我们作为后续高级课程学习的基础。一些控制台程序均可以独立完成。

模块

章节

知识点

JAVA基础

JAVA环境搭建

   java语言发展史

   计算机基础知识:二进制,字节,八进制,十六进制,cmd,dos指令

   JDK的下载和安装:JDK8Window10,mac

   PATH环境变量的配置:javahome

   第一个java程序HelloWorld:nodepade编写,讲解注意事项

   doc命令编译、运行java程序

   安装eclipse

   eclipse中创建java工程

   eclipse替换原版本

   案例:eclipse中编写自动关机程序

JAVA基础语法

   JAVA的注释

   常量与变量的概念

   变量的语法:数据类型(int,String,double),变量名(关键字,标识符),变量值

   扩展数据类型:数据类型分类等

   接收用户输入:变量的作用域

   算术、赋值(自增,自减)、关系、逻辑,赋值,三目运算符

   字符串连接符

   转义字符:\n,\t

   阿里巴巴编程规范:缩进等

流程控制

   if分支:if-else,多分支if,if嵌套,使用场景

   switch:语法,与if的对比

   while循环

   Debug断点调试的使用

   do-while循环

   for循环

   各种循环语句的区别和应用场景

   循环跳转控制语句:break,continue

   嵌套循环

   嵌套循环案例:打印图形,下兔子,鸡兔同笼,九九乘法表等

   常见错误讲解:判断用户输入类型

数组

   数组的定义

   数组的动态初始化

   数组的访问格式

   数组的静态初始化:{}

   java的内存划分和作用

   数组在内存中的存储

   数组常见问题

   最大值最小值

   冒泡排序的原理分析及代码实现

   二分查找的原理分析及代码实现

   多维数组:语法,不常用数组定义格式

   多维数组案例

方法

   方法的定义和调用:static,递归

   方法的参数和返回值:static

   扩展:方法的可变参数

   方法的重载overload

   参数的基本类型和引用类型的区别

java面向对象

面向对象基础

   package关键字的作用:import

   面向对象概述:多种开发思想对比

   类和对象的关系

   类和对象的创建:属性,方法,以及调用

   分析对象在内存中的存储

   成员变量和局部变量的区别

   private关键字的应用

   this关键字的运用

   this关键字的内存原理

   构造方法

   构造方法重载

   阿里巴巴编程规范

面向对象进阶

   面向对象特性之封装:两个角度讲解

   权限修饰符:public,private,protected

   static关键字的作用

   static关键字内存分析

   代码块:调取优先级

面向对象高级

   面向对象特征之继承

   super关键字的作用

   继承时子类的访问特点

   方法的重写override

   final关键字:常量

   面向对象特征之多态

   多态中成员访问的特点

   多态中的数据类型转换

   instanceof关键字的使用

   JAVA三大特性优缺点

   抽象类概述

   抽象类代码实现

   抽象类的成员特点

   接口的概述

   接口的特点和注意事项:default-1.8新特性

   类、抽象类、接口之间的关系

   案例:基于面向对象的综合案例

内部类

   内部类的概述

   成员内部类的使用

   局部内部类的使用

   静态内部类

   匿名内部类的使用

   匿名内部类在开发中的应用

异常

   异常的概述

   JVM默认处理异常的方式

   异常处理方式之try-catch

   异常处理方式之throws

   异常处理方式之throw

   异常分类

   throwable的常用方法

   异常的注意事项

   常见异常介绍

   自定义异常的使用

   综合案例:快递柜项目

idea的安装与使用

   idea的安装

   idea的使用

   idea的常用快捷键

API

API基础

   API的使用方式

   包装类

   Object

   String

   StringBuilderStringBuffer

常用API

   Math

   System

   BigDecimal

   Arrays

   Date,SimpleDateFormat

   NumberFormat类以及使用

   正则表达式及常用类

   jar包的制作以及使用

算法

常用算法

   插入排序的原理分析及代码实现

   归并排序的原理分析及代码实现

   希尔排序的原理分析及代码实现

   选择排序的原理分析及代码实现

   快速排序的原理分析及代码实现

   扩展:加密算法

java核心类库

泛型

   泛型概述

   泛型在类中的使用

   泛型在接口中的使用

   泛型限定和通配符

集合

   集合体系结构

   Collection

   List接口

   ArrayList

   Vector

   LinkedList

   迭代器的使用

   增强for循环的使用

   forEach

   Set

   HashSetTreeSet

   TreeSet的自然排序和比较器排序:compareable,compartor

   Map

   HashMapTreeMap

   Collections

数据结构

   常见数据结构之数组和链表

   常见数据结构之栈和队列

   数据结构之哈希表

   常见数据结构之树与二叉树

   数据结构之二叉平衡树

   数据结构之红黑树

   ArrayList集合源码分析

   LinkedList集合源码分析

   copyOnwriteArrayList

   CopyOnWriteArraySet

   TreeSet(TreeMap)底层源码分析

   Jdk1.7HashSet(HashMap)源码分析

   Jdk1.8HashSet(HashMap)源码分析

   HashTable

   ConcurrentHashMap

   ConcurrentLinkedQueue

   BlockingQueue接口

   JDK1.9集合新特性

IO

   File类对文件的操作

   IO流的概述和分类

   字节流写数据的方式

   字节流读数据的方式

   案例:字节流文件复制

   字符编码

   字符流写数据的方法

   字符串读数据的方法

   字节流与字符流的转换

   字符缓冲流的使用

   字符缓冲流的特有方法

   标准输入输出流

   打印流的使用

   对象序列化流

   serialVersionUID&transient

   Properties的用法

   内存操作流的使用

   try-catch-resources

   Externalizable接口

   RandomAccessFile使用

   SequenceInputStream的使用

   压缩流/解压缩流

多线程

   进程和线程的区别

   同步与异步&并发与并行

   Java实现多线程的三种方式

   线程API之线程名称

   线程API之线程休眠

   线程API之线程阻塞

   线程API之线程优先级

   线程API之线程中断

   线程API之守护线程

   线程的安全问题

   同步代码块

   同步方法

   Lock

   线程死锁

   多线程通信问题

   生产者与消费者

   线程生命周期

   带返回值的线程Callable

   线程池概述

   缓存线程池

   定长线程池

   单线程线程池

   周期定长线程池

   重入锁

   Condition

   信号量

   读写锁

   倒计数器:CountdownLatch

   线程阻塞工具类:LockSupport

lambda

   Lambda表达式的标准写法

   Lambda的省略规则|

   Lambda和匿名内部类的区别|

   JDK89对接口组成的更新:函数式接口

   方法引用的介绍

   Stream流的中间操作

   Stream流的终结操作

   Stream流的收集操作

网络编程

   网络编程的概述

   IP地址(ipv4,ipv6)

   InetAddress类的操作

   端口和协议的详细解释

   TCP程序-SocketServerSocket

   在服务器中加入多线程

   相关类和API

   UDP协议发送与接收数据

   UDP协议中广播与组播

NIO

   NIO概述

   Buffer的使用

   Channel

   Selector和非阻塞网络编程

XMLJSON

   XML介绍

   XML语法

   Schema验证XML

   解析XML方式介绍

   Dom4j解析

   XPATH解析

   基于Dom4j操作XML文件

   JSON介绍

   JSON解析

枚举、注解与反射

   枚举概述

   枚举语法

   枚举常用方法

   枚举接口

   枚举注意事项

   注解概述

   内置注解

   Jdk常见的元注解

   自定义注解

   虚拟机类加载机制(概述,类加载过程,类的初始化时机)

   反射概述

   Class与加载方式

   反射中的构造方法

   反射中的成员方法

   反射中的属性

   案例:基于反射与注解

   内省(反射提升视频)

扩展

   类加载器(概述,分类,双亲委派机制,ClassLoader类,自定义类加载)

单元测试

Junit4

   Junit4

设计模式

设计模式

   6大原则

   14种设计模式

阶段二:初识 JavaWeb

掌握 Mysql8.0 数据库操作,掌握前端技术 (html,css,javascript,jquery,bootStrap),掌握 JAVAWEB技术。其中包括网站开发流程,基于 MVC 架构实现 JSP+Servlet 的网站开发,具备小型网站开发能力 ,项目开发中的调试能力。

模块

章节

知识点

数据库

数据库基础

   数据库介绍

   MYSQL8安装与卸载

   SQL概述

   SQL语句分类

   基于命令行实现DDL:操作数据库与数据表,表引擎,字符集,数据类型

   DCL权限管理:grant,createuser,dropuser

   DML操作表中数据:CRUD

   DQL数据查询:简单查询,条件查询,模糊查询,去重,排序,聚合,分组,分页

   MYSQL约束类型:主键,唯一,非空,默认,自增长,外键

   MYSQL基础练习题讲解

数据库高级

   基于Navicat实现DDL:操作数据库与数据表,表引擎,字符集,数据类型

   基于SQLyog实现DDL:操作数据库与数据表,表引擎,字符集,数据类型

   数据库三大范式

   多表关系:一对多,多对一,一对一,多对多

   多表查询:Union,Unionall,联接查询(内联接,外联接),子查询

   MYSQL高级查询练习题讲解

   数据库扩展:多行新增,多表更新,多表删除,日期函数,数据的行转列

   导入导出数据库

数据库事务

   MYSQL事务:基本概念,特点,提交与回滚,隔离级别

数据库进阶

   存储过程,视图,触发器,MYSQL索引,SQL优化,索引原理,慢查询与SQL优化

Oracle

   Oracle

JDBC初级

   JDBC体系结构

   JDBC核心组件

   CRUD语法复习

   JDBC连接步骤

   JDBC执行增删改语句

   JDBC手动处理事务

   事务案例:转账功能

   SQL注入

   PreparedStatement预状态通道

   ResultSet结果集查询

JDBC高级

   JDBC操作多表关系

   JDBC实现批处理:Statement批处理,PreparedStatement批处理

   基于反射优化结果集

   封装DBUtils工具类

   使用properties属性文件保存数据库信息

   数据库连接池:dbcp,c3p0,druid

   ThreadLocal讲解

   使用连接池+ThreadLocal优化DBUtils

   JdbcTemplate工具类

   案例:基于JDBC实现数据表CRUD->基于多表,只添加dao

HTML5

HTML基本使用

   html基本概念

   html基本结构

HTML常用标签

   html常用标签:<h1><h6>,<p>,<br/>,<hr/>,<em>,转义码,<img>,<font>,<a>
引入块状元素,行级元素概念

   列表标签:有序,无序,自定义

   表格标签:<table>,常用属性:border,cellspacing,cellpadding,width,height,align,valign,rowspan,colspan

   框架标签:iframe,frameset

   框架标签:iframe,framese

HTML表单

   表单的概念

   表单的语法

   常用表单元素:type="text","password","submit","reset","radio","checkbox","button","file","image","hidden"

   表单常用属性:name,value,enccols=""readonlydisabled>

   多行文本域

h5表单新特性

   HTML4HTML5的区别

   语义标签

   增强型表单

   视频+音频

CSS

   CSS基本概念及作用

   CSS基本语法

   CSS定义位置:行内css,内部css,外部css

   CSS基本选择器:标签选择器,id选择器,类选择器

   CSS优先级:选择器优先级,定义位置优先级

   CSS高级选择器:后代选择器,交集选择器,并集选择器,全局选择器

   CSS继承性

CSS常用样式

   CSS样式属性:<span>,文本属性(font),文本样式(color,text-align,text-indent,line-height,text-decoration,vertical-align),伪类,cursor

盒子模型与布局

   DIV标签介绍,常用属性:width,height,background,list-style

   盒子模型及常用属性:width,height,padding,margin,border,display,float,clear,overflow

h5页面操作新特性

   Canvas绘图

   SVG绘图

   地理定位

   拖放API

h5扩展

   WebWorker

   WebStorage

   WebSocket

CSS3新特性

   CSS3选择器

   框模型

   背景和边框

   文本效果

   2D/3D转换

   动画

   多列布局

   用户界面

JS

JS基础

   JS概念介绍:概念,特点,作用

   JS定义位置:行内js,内部js,外部js

   JS基本语法:变量,数据类型,undefined,String的属性与方法,数组,运算符,

   选择结构,循环结构,弹窗,注释

   JS调试方案:F12浏览器调试,firebug,alert()

   JS函数:系统函数,自定义函数,匿名函数

   JS变量作用域:局部变量,全局变量,常用方法

   JSBOM模型:window对象常用属性,常用方法

   JS之元素事件:onload,onmouseover,onmouseout

   JS之元素事件:onload,onmouseover,onmouseout,onclick,onchange,onfocus,onblur

   JS之DOM模型:getElementById(),getElementsByName()

   JS特效实现:内置对象Array,Math,String,Date

   JS案例讲解:全选/全不选,动态时间,动态表格,省市级联特效

JS高级

   表单验证意义与场景

   表单验证常用事件与属性

   正则表达式介绍与案例讲解(验证0-120之间的年龄):提供常用正则文档

   JS面向对象思想

Jquery

Jquery学习

   JqueryJS的关系

   Jquery语法结构

   Jquery选择器:基本,类,标签,并集,交集,全局,后代,子,相邻,同辈,属性,过滤,可见性选择器

   Jquery常用函数:css(),html(),val(),addClass()

   JqueryJS对象的转换

   Jquery中的事件:鼠标事件,键盘事件,表单事件,悬停事件,点击事件,动态效果函数

   Jquery操作DOM:元素的增加,替换,删除,克隆,获取

   Jquery特效:短信墙,树形菜单,选项卡,导航栏,图片放大镜,拖动效果,阻止事件冒泡

   基于Jquery实现表单验证

   Jqueryvalidate验证框架

   网站常用控件学习:My97DatePicker,富文本框

移动端

移动端布局

   移动端布局-viewport

   移动端布局-2倍图

   移动端布局-移动端常见布局

flex布局

   flex布局-体验

   flex布局-flex-direction

   flex布局-justify-content

   flex布局-flex-wrapalign-items

   flex布局-align-content

   flex布局-flex

   flex布局-align-self

   flex布局-导航栏

移动端适配

   移动端适配-媒体查询

   移动端适配-rem

   移动端适配-rem应用

   移动端适配-实际应用

   移动端适配-less应用

   移动端适配-解决方案

响应式布局

bootStrap

   bootStrap介绍与入门

   bootStrap栅格系统,排版,表格,表单,按钮,图片

   bootStrap组件:字体图标,下拉菜单,导航,警告框,弹窗,输入框组,分页,进度条,按钮组等

版本控制工具

SVN

   版本控制的概念

   SVN介绍

   SVN服务器端安装

   SVN客户端安装

   SVN客户端常用操作

   IDEA关联SVN

   IDEA操作SVN实现代码备份

GIT

   GIT介绍:GIT诞生,集中式VS分布式

   GITSVN的区别

   GIT的安装:linuxmac,window安装

   GIT版本回退

   GIT的工作区域

   GIT提交文件

   GIT撤销修改

   GIT删除文件

   GIT远程服务器介绍

   GITLAB常用操作介绍

   GITHUB常用操作介绍

   GITEE常用操作介绍

   GIT初始化

   GIT操作远程仓库

   GIT关联IDEA

   使用IDEA操作版本控制工具

   GIT分支管理:创建与合并分支,解决冲突,分支管理策略,bug分支,Feature分支,

   多人协作:创建标签,操作标签

   标签管理GIT服务器

   自定义GIT:忽略特殊文件,配置别名,搭建

服务器

Tomcat

   贯穿案例展示及讲解

   WEB服务器介绍

   Tomcat服务器搭建

   基于IDEA配置Tomcat

   Tomcat常用配置:修改端口号,修改编码方式,图形化管理项目

Servlet

   Servlet介绍

   ServletAPI

   Servlet初识

   Servlet生命周期

   Request的常用方法

   Response的常用方法

   转发与重定向的区别

   Session会话

   ServletContext使用

   初始化参数的获取

   注解方式实现Servlet

   Postman介绍与使用

   案例:基于Servlet实现数据库的CRUD

   HTTP协议介绍

   HTTP请求方式和开发模式介绍:fiddler

JSP

   JSP介绍

   JSP页面初识

   JSP编译原理

   JSP九大内置对象

   JSP三大指令

   JSP请求状态码含义

   EL表达式

   JSTL标签库

   FMT标签库

   案例:基于JSP+JSTL+FMT+Servlet实现用户登录退出

WEB应用技术

Cookie

   Cookie介绍

   Cookie的基本操作

   删除Cookie

   Cookie的应用

   Session实现会话跟踪

   SessionCookie的区别

Filter+Listener

   Filter学习

   Filter应用

   Listener学习

   Listener应用

MVC

   MVC介绍

   三层架构概念

   代码实现MVC

   MVC与三层架构的区别

   公司开发模式介绍:前后端分离

   案例:基于三层架构实现用户登录

AJAX+JSON

   AJAX概念

   AJAX原理

   AJAX常用属性与方法

   基于JS实现AJAX

   基于Jquery实现AJAX

   JSON介绍

   JSONJAVA转换

   案例:使用AJAX+JSON+Servlet实现用户名重复验证

文件操作

   文件上传案例:文件上传的http协议内容

   文件下载案例

项目讲解

   案例:基于Servlet+JSP+JSTL+AJAX+EL实现多表操作案例(CRUD+分页)学生管理模块

快项递目E1

后台开发

   项目概述

   编写MVC框架

   二维码生成

   Layer

   阿里云短信

   项目搭建与工具类整理

   管理员数据操作部分

   管理员登录前后端交互

   流程与快递表格创建

   API设计

   DAO接口编程

   SQL语句编程

   DAO编写+测试

   Service层编写

   阿里云短信集成

   控制台部分

   分页列表

   快递录入

   删除与修改

   权限控制

   后续梳理

微信端

   短信登录和退出

   快递列表获取

   二维码展示

   Ngrok内网穿透

   微信JS扫码

   取件

   补充

阶段三:企业级框架

掌握公司部署环境 Linux, 企业级框架 Spring,SpringMVC,Mybatis,Springboot 框架。Redis,Nginx 提升项目,响应效率。学完本章课程,掌握基于企业级框架实现网站开发的技能。

模块

章节

知识点

Maven

Maven概述

   Maven引言与介绍

   Maven的功能

   Maven的模型

   Maven原理分析

Maven环境搭建

   Maven的安装与配置

   Maven更换阿里云镜像

   Maven的构建&自动化构建

   Maven创建javaweb工程

   Mavenpom.xml文件介绍

   Maven的依赖管理

   Maven的常用命令

   本地项目安装到本地仓库

   自定义本地仓库路径

   Maven坐标

   Maven的依赖性、传递性、继承性

   Maven的生命周期

Maven高级

   Maven中的插件使用

   Maven私服的概念

   Maven私服的搭建和使用

Linux

Linux安装与应用

   Linux概述

   虚拟机概念

   VM介绍与安装

   VMWare下安装Linux

   XShell连接linux

   Linux目录结构

   Linux权限操作

   Linux常用指令:vi,vim

   FXP文件上传

   SecureCRT8.0工具介绍

环境搭建

   yum介绍

   Linux下安装JDK

   Linux下安装tomcat

   Linux下防火墙问题

   Linux下安装mysql

   Linux修改主机名

   Linux修改静态IP

   通过主机名互访

   基于阿里云的Linux访问操作

Nginx

Nginx

   Nginx介绍

   Nginx安装

   Nginx之虚拟主机

   Nginx之反向代理

   Nginx之负载均衡

   Nginx之部署静态页

Nosql

Redis

   Nosql介绍

   Redis介绍

   Redis安装与启动

   Redis客户端访问及服务管理

   Redis数据类型介绍

   Redis常用指令

   Redis事务管理

   Redis发布与订阅模式

   Jedis访问Redis

   Jedis连接池访问Redis

   Redis持久化方案-RDB

   Redis持久化方案-AOF

   Redis主从复制

   Redis哨兵模式介绍

   Redis哨兵模式配置

   Redis集群概念

   Redis集群环境搭建

   Jedis连接Redis集群

   Redis缓存雪崩

   Redis缓存穿透

   Redis缓存击穿

   Redis分布式锁

MongoDB

   MongoDB介绍

   基于Window实现MongoDB安装

   基于Linux实现MongoDB安装

   MongoDB支持的数据类型

   MongoDB的常用指令

   JAVA代码操作MongoDB

   MongoDB索引

   MongoDB备份与恢复

   MongoDB集群介绍

   MongoDB集群搭建

   MongoDB故障转移

   MongoDB仲裁者配置

企业级框架

Mybatis

   Mybatis介绍

   Mybatis-xml开发入门

   Mybatis-Annotation开发入门

   Log4j的使用

   代理模式CRUD基本操作

   parameterTyperesultType详解

   resultMap详解

   传统Dao模式CRUD操作

   Mybatis配置文件详解

   Mybatis动态SQL

   多对一(关联语句)

   一对多(关联语句)

   多对多(关联语句)

   多对一(懒加载方式)

   一对多(懒加载方式)

   Mybatis一级缓存

   二级缓存

   二级缓存整合Ehcache

   注解映射详解

   Mybatis逆向工程

Spring

   Spring介绍

   SpringIOC入门案例

   SpringIOC详解

   SpringDI详解

   Spring整合JDBC

   Spring整合JDBC案例-转账功能

   Spring注解配合xml配置IOCDI

   Spring全注解配置IOCDI

   Spring整合Junit4

   SpringAOP素材案例

   SpringJDK代理和cglib代理

   基于XML配置AOP

   切入点表达式详解

   Spring全注解配置AOP

   XML配置声明式事务

   注解+XML配置声明式事务

   Spring全注解配置声明式事务

   spring高级分析之IOC容器说明

   spring高级分析之组件扫描器TypeFilter

   spring高级分析之Import注解和自定义导入器

   spring高级分析之BeanFactoryPostProcessor

   spring高级分析之BeanPostProcessor

   spring高级分析之InitializingBean

   spring高级分析之FactoryBean

   spring高级分析之EnableAspectjAutoProxy注解的解析

   SpringAOP的运行期增强的执行过程分析

   spring事务高级分析之TransactionTemplate源码分析

   spring事务高级分析之DataSourceUtils源码分析

   spring事务高级分析之TransactionSynchronizationManager源码分析

   spring事务高级分析之TransactionEventListener注解的加载过程分析

   Spring中模板对象:NamedParameterJdbcTemplate的使用

   RedisTemplate的使用

   Spring事务设计的设计模式分析

SpringMVC

   SpringMVC入门案例

   SpringMVC原理详解

   SpringMVC常用组件介绍

   SpringMVC-RequestMapping注解

   SpringMVC-封装请求参数

   SpringMVC的表单验证注解

   SpringMVC-使用ServletAPI

   SpringMVC-requestParam注解

   SpringMVC-RequestBody注解

   SpringMVC-PathVariable注解

   SpringMVC-restful风格URL实现

   SpringMVC-RequestHeader注解

   SpringMVC-CookieValue注解

   SpringMVC-ModelAttribute注解

   SpringMVC-SessionAttribute注解

   SpringMVC-响应数据

   SpringMVC-异步处理数据

   SpringMVC-文件上传

   SpringMVC-异常解析器

   SpringMVC-拦截器

   SpringMVC中的请求参数封装源码分析和运用的设计模式介绍

   SpringMVC中的父子容器

SSM整合

   ssm整合-mybatis映射dao

   ssm整合-service

   ssm整合-spring整合mybatis

   ssm整合-controllerjsp页面

   ssm整合-springmvc配置

   ssm整合-CRUD实现

   ssm整合-分页插件PageHelper

   案例:基于SSM实现系统

SSM项目

   山东医院

springboot

   概念

   入门案例

   SpringBoot加载原理

   全注解配置

   读取属性文件

   自动配置原理

   整合springmvc

   整合jdbc

   整合mybatis

   整合tk-mybatis

   thymeleaf入门案例

   thymeleaf详解

   springBoot整合JSP

   SpringBoot整合redis

   springBoot实现任务调度

   springBoot整合MongoDB

   springBoot整合JPA

   springBoot核心功能

   起步依赖原理分析

   自动配置原理解析

   自定义起步依赖并实现自动配置

   自定义starter

   事件监听

   初始化流程

springBoot项目

   云收藏

MyBatis-plus

   Mybatis-plus简介

   Mybatis-plus快速入门

   Mybatis-plus通用CRUD

   Mybatis-plus条件构造器

   Mybatis-plusService封装

   Mybatis-plus代码生成器

   springBoot整合MybatisPlus

   案例:旅游网,记账管理

阶段四:微服务 + 分布式 + 架构思维

掌握微服务框架 SpringCloud, 基于 SpringCloud,结合 docker,ElasticSearch,RabbitMQ,VUE,Oauth2.0 等技术实现商城项目功能,掌握商城项目所需的技能。学完本章课程,具备了电商平台开发的专业技能,具备面试中要求的技能方向。

模块

章节

知识点

微分服布务式

springCloud

   SpringCloud介绍

   服务注册中心Eureka介绍

   Eureka服务端开发

   微服务开发并注册到Eureka服务注册中心

   Eureka保护模式介绍

   客户端负载和服务端负载的介绍

   Ribbon实现客户端负载均衡

   Feign的介绍和实现

   Feign工作原理和注意事项

   雪崩效应与熔断器介绍

   熔断器Hystrix使用

   网关介绍

   基于Gateway构建网关服务

   通过Gateway网关访问微服务

   SpringCloudConfig介绍

   使用Git存储的方式实现配置管理

   微服务改造从配置中心获取配置信息

   服务总线SpringCloudBus介绍和应用

   Eureka集群

   EurekaWEB介绍

   Consul服务治理与配置管理

   Nacos动态服务发现与配置管理

   Sleuth链路追踪

   Zipkin展示

   Config本地读取

   Stream消息驱动

Docker

   Docker概念:与虚拟机比较

   Docker安装

   Docker架构

   Docker进程命令

   Docker镜像命令

   Docker容器相关命令

   Docker数据卷概念

   Docker数据卷配置

   Docker数据卷容器

   Docker安装Mysql

   Docker安装Tomcat

   Docker安装Nginx

   Docker安装Redis

   Docker镜像管理:镜像备份,恢复与迁移

   Docker容器转镜像

   DockerDockerFile概念

   DockerFile案例1:自定义centos

   DockerFile案例2:部署SpringBoot项目

   DockerCompose介绍

   DockerCompose安装

   DockerCompose案例

   Docker私有仓库

k8s

   k8s

FastDFS

   FastDFS介绍

   FastDFS架构

   FastDFS工作原理

   FastDFS安装

   FastDFS文件上传微服务

Swagger

   Swagger简介

   Swagger配合

   Swagger使用

Elasticsearch

   Elasticsearch介绍

   Elasticsearch术语说明

   Elasticsearch安装

   Elasticsearch安装Head插件

   ElasticsearchPostman管理Index

   ElasticsearchPostman管理文档

   ElasticsearchPostman查询Index

   Elasticsearch之中文分词器IKAnalyzer

   ElasticsearchKibana介绍

   ElasticsearchKibana安装

   ElasticsearchKibana-DSL管理索引

   ElasticsearchKibana-DSL查询索引

   ElasticsearchJavaAPI创建Index

   ElasticsearchJavaAPI创建文档

   ElasticsearchJavaAPI查询索引

   ElasticsearchJavaAPI查询结果高亮显示

   ElasticsearchSpringDataES

   Elasticsearch之聚合查询

   Elasticsearch案例:搭建ES微服务工程

   Elasticsearch案例:导入商城索引库

   Elasticsearch案例:搜索商城索引库

   es集群环境搭建与介绍

   es并发操作

   es重试策略

   smartCN分词与六大内置分词器演示

   IK自定义词库

   springboot继承es

   es内部原理介绍

RabbitMQ

   MQ介绍-优势,子产品

   RabbitMQ介绍

   RabbitMQ安装

   RabbitMQ管控台

   RabbitMQ之生产者

   RabbitMQ之消费者

   RabbitMQWorkQueues模式

   RabbitMQFanout模式

   RabbitMQRouting模式

   RabbitMQTopic模式

   RabbitMQ之基于Spring生产者

   RabbitMQ之基于Spring消费者

   RabbitMQ之基于SpringBoot生产者

   RabbitMQ之基于SpringBoot消费者

   RabbitMQ高级特性之消息可靠性投递confirm模式

   RabbitMQ高级特性之消息可靠性投递return模式

   RabbitMQ高级特性之消费端ACK

   RabbitMQ高级特性之消费端限流

   RabbitMQ高级特性之TTL

   RabbitMQ高级特性之死信队列

   RabbitMQ高级特性之延迟队列

MQ

   mq日志监控

   mq消息追踪

   mq消息补偿机制

   mq幂等性

   mq集群搭建

RocketMQ

   RocketMQ概述

   搭建RocketMQ

   RocketMQ-Console管理控制台

   RocketMQ模式

   springBoot整合RocketMQ

   集群安装部署

   基于MQ的分布式事务解决方案说明

zookeeper

   Zookeeper介绍

   Zookeeper数据类型

   Zookeeper安装与配置

   Zookeeper之常用命令

   ZookeeperACL命令

   Zookeeper之四字常用命令

   Zookeeper之集群搭建

   Zookeeper之日志可视化

   Zookeeper实战:12306售票

   ZookeeperObserver使用

   Zookeeper之选举模式

   Zookeeper之脑裂效应

Dubbo

   Dubbo介绍

   Dubbo单体架构

   Dubbo垂直架构

   DubboSOA架构

   Dubbo之微服务架构

   Dubbo架构

   Dubbo案例:生产者与消费者

   Dubbo管理控制台

   DubboXML配置

   Dubbo之协议配置

   Dubbo之负载均衡

   Dubbo之事务代理后发布问题

   监控中心

   升级版Dubbo-admin使用

   12Dubbo高级特性

   架构原理

   工作原理与服务治理

   心跳与通信

   支持的注册中心和协议

   springClouddubbo对比

vue

ECMAScript6

   ECMAScript6介绍

   letconst命令

   变量的解构赋值

   字符串的扩展

   字符串的新增方法

   运算符扩展

   数值扩展

   函数扩展

   数组扩展

   SetMap数据结构

   对象的扩展

   对象的新增方法

   Class的基本语法

   Class的继承

webpack

   安装

   配置打包模式

   配置出口文件与入口文件

   编译模板页面

   实时打包

   配置css-loader

   配置图片相关loader

   less-loader

   bable-loader

vue

   VUE概述

   VUE入门案例

   VUE模板语法

   VUE文本插值

   VUE的绑定属性

   VUE的条件渲染

   VUE的列表渲染

   VUE的事件绑定

   VUE的表单绑定

   VUE的组件

   VUEaxios

实战项目

新职课商城

   电商项目简介

   前后端分离开发品牌管理模块

   springcloud工程搭建

   品牌管理

   前后端代码重用

   搭建FastDfs图片服务器

   规格商品管理

   使用Lua+Nginx实现限流

   使用SpringDataRedis操作redis缓存

   使用Canal+Redis实现数据库缓存同步

   使用ElasticSearch实现商品搜索服务

   商品详情页静态化实现

   Springcloundgateway微服务网关

   springcloudconfig配置微服务

   配置微服务的配置本地和远程(git)配置

   JWT令牌详解

   Oauth2详解

   Oauth2授权模式

   使用SpringSecurityOauth2+JWT实现商城权限管理

   购物车,订单实现方案

GitLab+jenkins+ones

   研发管理概述

   研发管理协作工具ones

   SSH协议

   Git提交本地文件到远程仓库

   克隆远程仓库到本地

   基于idea实现gitlab的分支管理

   jenkins持续交付继承

人脸识别

人脸识别

   人脸识别概念

   人脸识别API接口调用

   人脸识别案例:刷脸登录

语音识别

语音识别

   webSocket介绍

   webSocket客户端开发

   webSocket服务端开发

   语音识别API介绍

   语音识别案例实现

二维码支付

支付宝支付

   支付介绍

   支付分类

   沙盘介绍

   支付流程

   沙箱数据填写

   工具类定义

   支付页面实现

   支付对象创建

   支付类实现

   工具类实现(同步通知+异步通知)

   支付宝功能测试

微信支付

   智慧餐饮

   教育医疗

   智慧零售

生态体系

阿里云/百度云/华为云等云服务器生态

   各平台云服务器的使用

微信生态

   微信小程序开发,微信公众号开发

支付宝生态

   小程序,生活号,第三方应用

七牛云

   高可靠、强安全、低成本、可扩展的存储服务

其他常用组件

   云原生,Devops,全链路压测

解决方案

常见面试指导

   简历指导,面试指导,技术指导,经验分享

工作流

   activity工作流

分布式锁

   锁的产生,问题,解决方案

扩展部分

springCloudalibaba

   springcloudalibaba中的nacos,sentinel,seata

NIO

   同步非阻塞

JDK新特性

   JDK8-15新特性

并发包

   JUC及其相关工具包

netty

   Netty初识及入门

设计模式

   设计原则与常见设计模式

JVM性能调优

   JVM常用参数配置

算法

   力扣算法题300

阶段五:浸入开发项目组实习

这个阶段安排入职智校云网络科技有限公司实习,实习期为一个月,分配到商业项目组中和老程序员一起参与上线项目的开发工作。浸入项目组实习,不仅可以积累工作经验,在工作中学习更是技术提升的关键时期。相关的工作经验对于新工作的薪资起着决定性作用,因为参加实际项目开发解决过一些实际问题,一些开发工具会使用很熟练,并掌握相关的业务流程,了解团队协作开发的相互配合, 了解相关的项目管理规范等,所以开发效率会很高。在实际的编程工作中,你做的事情往往是一个大系统中的一个组件,完成一个大系统的开发工作是一个团队的事情,但你必须学会如何团队开发。最主要的是学过再多的技术,学习的内容也都是“点状”的,例如会写小段代码,掌握各种算法,了解所有设计模式,但没有参加过商业项目开发就不相信自己能胜任这份工作。作为程序员要有被甲方“威胁”的经历,要有被产品经理反复改需求“博弈”的过程,要有为了项目预期上线连夜“奋战”的时候,更要有项目经测试后反馈回来BUG成堆无地自容的感觉,也要有过讨论架构“拍桌子”大喊的情况。

任务 字段 描述
任务 字段 描述
第01天
项目实战

CMS系统
目标 掌握CMS系统核心概念,能够独立开发插件,快速建站。
内容 1.系统搭建
2.熟悉项目结构流程
3.搭建一个企业网站
4.扩展CMS基础模块
标签 CMS、企业站、背景、需求、安装、使用、架构、模块、二次开发...
第02天
项目实战

考试系统
目标 搭建员工考试系统,熟悉业务流程,能够独立完成项目开发扩展工作。
内容 1.系统搭建
2.熟悉项目业务流程
3.扩展系统功能
标签 考试系统、系统扩展、背景、需求、安装、使用、架构、模块、二次开发...
第03天
项目实战

电子商务系统
目标 掌握电子商务系统得核心流程, 深入理解电商系统逻辑,能够独立完成扩展开发。
内容 1.电子商务系统搭建
2.熟悉项目业务流程
3.扩展项目系统功能
标签 商城、电商、电子商务、背景、需求、安装、使用、架构、模块、二次开发...
第04天
项目实战

博客系统
目标 掌握博客系统流程网站部署流程,搭建一套博客系统,并部署至阿里云。
内容 1.博客系统搭建
2.熟悉博客系统业务流程
3.调整博客模板
4.书写博客
5.搭建自己的博客系统
标签 博客、部署、背景、需求、安装、使用、架构、模块、二次开发...
第05天
项目实战

在线教育系统
目标 掌握在线教育系统部署搭建,熟悉在线教育系统流程,独立完成项目扩展开发。
内容 1.在线教育系统部署
2.熟悉在线系统架构
3.熟悉在线教育业务
4.扩展在线教育系统
标签 在线教育、背景、需求、安装、使用、架构、模块、二次开发...
第06天
项目实战

图书兄弟小程序
目标 体验图书兄弟小程序,熟悉图书兄弟业务流程,掌握小程序开发与后台对接流程。
内容 1.搭建部署图书兄弟小程序
2.搭建图书系统服务端
3.搭建图书兄弟后台VUE端
4.熟悉图书兄弟业务流程
5.扩展图书兄弟小程序
标签 图书兄弟、小程序、VUE、Element、背景、需求、安装、使用、架构、模块、二次开发...
第07天
项目实战

猎聘小程序
目标 熟悉猎聘小程序,了解招聘业务流程,掌握小程序开发流程。
内容 1.搭建猎聘小程序
2.熟悉猎聘小程序流程
3.扩展猎聘小程序
标签 招聘、背景、需求、安装、使用、架构、模块、二次开发...
第08天
项目实战

作品投票系统
目标 熟悉投票逻辑,了解作品投票程序,对作品投票程序扩展。
内容 1.熟悉作品投票程序
2.熟悉作品投票程序逻辑
3.对作品投票程序扩展
标签 投票、小程序、作品、背景、需求、安装、使用、架构、模块、二次开发...
第09天
项目实战

CRM系统
目标 熟悉企业内部CRM系统逻辑,掌握CRM开发流程及开发中常见问题解决方案,对CRM系统扩展。
内容 1.搭建CRM系统
2.熟悉CRM系统流程
3.掌握CRM系统架构
4.扩展CRM系统功能
标签 CRM 、背景、需求、安装、使用、架构、模块、二次开发...
第10天
项目实战

分销系统
目标 熟悉分销系统架构,掌握分销系统核心逻辑,对分销系统进行扩展。
内容 1.分销系统搭建
2.熟悉分销系统核心业务
3.对分销系统进行功能扩展
标签 分销、背景、需求、安装、使用、架构、模块、二次开发...
第11天
项目实战

项目流程
目标 掌握团队协作中常用工具,掌握项目开发从需求到功能上线流程,团队配合分工版本管理,团队协作中开发环境统一。
内容 1.团队开发协作工具学习
2.团队项目开发规范
3.项目开发流程
4.项目需求调研
5.项目原型分析
标签 原型分析、项目需求调研、团队协作工具...
第12天
项目实战

项目初始化
目标 掌握根据项目需求及原型转化实际开发需求,在未来开发中可能遇见的问题,项目初期排坑。
内容 1.初始化项目
2.数据库模型分析
3.数据库初始化
4.第三方方案整合
5.项目数据库模型初始化
6.开发计划制定
标签 数据库模型、项目初始化、开发计划制定...
第13天
项目实战

项目开发
目标 完成项目开发任务,根据团队协作工具领取任务,并完成代码质量检查。
内容 1.领取开发任务
2.完成开发任务
3. 完成质量检测
标签 开发、任务、协作、代码质量检测...
第14天
项目实战

项目开发
目标 完成项目开发任务,根据团队协作工具领取任务,并完成代码质量检查
内容 1.领取开发任务
2.完成开发任务
3.完成质量检测
标签 需求分析,数据库设计,程序设计,业务流程...
第15天
项目实战

项目开发
目标 完成项目开发任务,根据团队协作工具领取任务,并完成代码质量检查。
内容 1.领取开发任务
2.完成开发任务
3.完成质量检测
标签 开发、任务、协作、代码质量检测...
第16天
项目实战

项目开发
目标 完成项目开发任务,根据团队协作工具领取任务,并完成代码质量检查。
内容 1.领取开发任务
2.完成开发任务
3.完成质量检测
标签 开发、任务、协作、代码质量检测...
第17天
项目实战

项目开发
目标 完成项目开发任务,根据团队协作工具领取任务,并完成代码质量检查。
内容 1.领取开发任务
2.完成开发任务
3.完成质量检测
标签 开发、任务、协作、代码质量检测...
第18天
项目实战

项目开发
目标 完成项目开发任务,根据团队协作工具领取任务,并完成代码质量检查。
内容 1.领取开发任务
2.完成开发任务
3.完成质量检测
标签 开发、任务、协作、代码质量检测...
第19天
项目实战

Code Review
目标 熟悉掌握Code Review流程,对代码完整性、一致性、正确性、可修改性、健壮性、结构性、可追性、可扩展性、安全性、可重用性、可理解性及性能进行评估。
内容 1.代码Code Review
2.根据结果调整代码
3.评估团队其他成员代码
标签 Code Review ...
第20天
项目实战

项目总结
目标 回顾项目开发流程,总结项目开发中问题,分享自己的项目开发心得。
内容 1.项目开发总结
2.分享项目开发心得
标签 总结、心得...