Java全栈互联网工程师
阶段一:Java零基础入门
1、环境搭建与语法入门
这是Java入门,学习Java语法规则,锻炼编程思维。学会环境搭建,掌握Java程序的执行流程,能够使用运算符和选择与循环结构进行编程。
课程安排:
1、Java基本概念介绍
2、Windows和Mac下开发环境搭建
3、数据类型、变量和常量的使用
4、Java中多种运算符的应用
5、选择结构的执行流程与应用
2、Java语法之循环、数组与方法
将继续学习语法基础,掌握循环结构、数组和方法的语法规则和应用,最后通过案例对所学知识进行综合应用。学完该内容可以进行简单的程序逻辑开发。
课程安排:
1、基础语法综合案例——数组移位与统计
2、while、do-while和for三种循环结构的使用
3、嵌套循环的应用
4、break和continue语句的特点及应用
5、如何进行程序的调试,debug的使用
6、一维数组和二维数组的应用
7、Java自定义方法和方法调用
8、大作业——学生*管理
3、面向对象之封装与继承
面向对象是开发中非常重要的思想,在此我们将学习到面向对象三大特征中的封装与继承,开始运用面向对象思想进行程序开发。
课程安排:
1、封装综合案例——学生信息管理
2、类的定义和对象的创建
3、理解构造方法的概念,并进行应用
4、封装的特点,应用代码实现程序的封装
5、包的创建和导入
6、静态变量和静态方法的应用
7、大作业——部门员工管理
8、继承的概念和特点,父类和子类的概念及应用
9、方法重写的特点及使用
10、通过super关键字对父类方法进行调用
4、面向对象之单例模式与多态
将继续学习面向对象中重要的概念,并能够进行代码实现,学完后可以利用面向对象思想开发更复杂的应用。
课程安排:
1、所有类的父类Object类的使用
2、使用final关键字定义最终类
3、现阶段开发中涉及到的常用注解的使用
4、单例模式的定义和使用
5、懒汉模式和饿汉模式的特点及代码实现
6、向上转型和向下转型的概念和应用
7、接口和抽象类的定义和使用
8、成员内部类、静态内部类、方法内部类和匿名内部类的应用
9、大作业——使用多态完成马戏团动物表演
5、常用工具类(上)
工具类是Java为我们提供的一些类,可以直接应用于程序开发中。学习工具类不但要学习常用工具类的使用,还要学会阅读工具类的文档,这是开发中非常重要的技能。
课程安排:
1、使用try-catch-finally处理异常
2、理解throw和throws的区别,会使用自定义异常和异常链
3、包装类的基本使用,理解装箱和拆箱的概念
4、字符串处理类String和StringBuffer的基本使用和应用场景
5、集合List、Set、HashMap及实现类的特点和应用
6、常用工具类(下)
继续学习常用工具类,通过案例学习复杂业务逻辑的开发,同时实现增删改的功能,为后续课程内容的学习打下扎实的基础。
课程安排:
1、阶段综合案例——播放器管理
2、使用Comparator和Comparable两个接口对集合进行排序
3、泛型的使用,包括泛型作为方法参数、自定义泛型类和泛型方法
4、线程的创建,理解线程的生命周期
5、线程同步的使用和如何进行线程间通信
6、使用字节流和字符流进行数据传输
7、应用序列化和反序列化对对象进行读写
8、大作业——学生管理系统
阶段二:从网页搭建入门Java Web
1、 前端基础之HTML与CSS
前端知识是进行Java Web开发的必备基础,接下来将入门前端,学习HTML常用标签和CSS样式,能够应用盒子模型进行布局管理。
课程安排:
1、HTML的基本结构和字体、标题、列表、图片等常用标签的使用
2、表格和表单标签使用,二者嵌套使用进行简单布局管理
3、CSS的基本使用和常用样式
4、CSS伪类和伪元素的区别和应用
5、CSS的各种选择器及其应用
6、浮动和定位的使用
7、使用盒子模型进行页面布局管理
2、前端基础之JavaScript与综合案例
JavaScript中是前端的重要基础知识,主要用于数据校验和特效展示。我们将学习JavaScript的基础知识,能够独立完成静态页面开发。
课程安排:
1、前端综合案例——企业门户网站首页开发
2、JavaScript变量、运算符、程序控制语句等基本语法
3、JavaScript常用函数和自定义函数
4、JavaScript数组的基本使用
5、使用JavaScript对表单元素进行操作
6、使用JavaScript开发简单计算器
7、大作业——校园网首页开发
3、Java Web基础
从此开始进入Java Web基础知识的学习,这将是一个新的阶段,要注意概念的理解,多动手练习体会开发流程。基础很重要,对于以后职业发展非常有好处,一定要重视。
课程安排:
1、XML文件的结构和约束
2、对XML文档进行读写操作
2、掌握Web项目开发流程,独立进行项目开发和运行
3、JSP九大内置对象的使用
4、重定向和转发的区别和应用
5、session和cookie的区别和使用
6、使用JSTL和EL表达式对集合数据进行展示
7、大作业——商品信息管理
4、常用功能与过滤器
在Web开发中还会有一些常用功能的应用,比如局部刷新数据、表单数据校验等,这些功能是由特定的技术来完成,Web基础和这些技术结合,开发出具有良好体验的项目。
课程安排:
1、JSON基础语法和FastJSON的应用
2、jQuery的常用语法及应用
3、正则表达式基本语法,完成常见数据验证
4、过滤器的生命周期和开发流程
5、使用过滤器解决中文乱码问题
6、过滤器链的概念和使用
7、使用过滤器完成多端设备自动适配的功能开发
5、监听器与项目实战
接下来继续学习Java Web技术,并学习Web阶段综合项目。通过该项目学会前后台结合的项目开发,掌握项目结构设计,为后续课程内容的学习做准备。
课程安排:
1、阶段综合案例——Java Web实现企业门户网站前后台开发
2、监听器的概念和应用场景
3、使用过滤器完成请求流量分析统计和静态数据预加载功能开发
4、使用ECharts完成动态图表开发
5、FreeMarker模板引擎的基本语法和开发步骤,以及与Servlet进行整合开发
6、MVC设计模式的特点和使用
7、项目结构的分层设计
8、大作业——MVC模式完成图书管理系统
阶段三:Java数据库开发与实战
1、MySQL基础
现在开启Java数据库开发,按照数据库基础——JDBC和MyBatis框架为主线进行学习。接下来的两周主要学习数据库的设计,并结合MySQL学习数据库基本操作。SQL语句的书写是重点,一定要熟练掌握。
课程安排:
1、根据数据库规范设计数据库
2、数据库的创建、表的创建和修改等操作
3、数据表的增删改查等基本操作
4、数据库的数字、日期时间、字符等常用函数使用
5、事务的ACID属性和隔离级别
6、SQL文件的导入和导出
2、Java数据库开发基础
JDBC是非常重要的数据库基础知识,是后续数据库框架学习的基础!现在开始围绕JDBC的基础知识展开学习,应用数据库连接池提升性能,使用DBUtils工具类提高开发效率。
课程安排:
1、IntelliJ IDEA开发工具的使用
2、使用JDBC实现数据的增删改查
3、使用PreparedStatment对数据进行预处理,防止SQL注入漏洞
4、数据库连接池Druid和C3P0的使用
5、使用Apache的数据库工具类DBUtils简化代码开发
6、大作业——新闻管理系统
3、框架前置知识
在框架学习前要了解工厂模式和反射的内容,并要学会使用Maven进行管理,还会涉及到Lambda表达式的代码,因此我们把这些知识点放到这一阶段来学习,为框架学习打好基础。
课程安排:
1、Maven的常用命令
2、在IntelliJ和IDEA两种开发环境下创建Maven项目
3、工厂模式中简单工厂和工厂方法的特点及应用
4、反射的基本概念和四个反射类Class、Field、Method、Constructor的使用
5、Lambda表达式的基本语法
6、Lambda表达式的静态方法、实例方法、对象方法和构造方法的的引用
7、Stream API的创建、中间操作和终止操作
4、MyBatis基础
开始学习MyBatis框架,这也是我们接触的框架。从框架增删改查的基本操作到缓存、批处理等进阶知识点都会在课程中涉及。学习过程中注意框架与之前知识的不同,跟着老师的节奏编写代码。
课程安排:
1、MyBatis开发的基本流程
2、MyBatis参数传递
3、MyBatis多表关联查询
4、使用logback进行日志管理
5、使用动态SQL语句进行稍复杂的逻辑开发
6、MyBatis一级缓存与二级缓存的概念和应用
7、MyBatis对象关联查询
8、使用PageHelper插件进行数据分页
9、使用MyBatis进行数据的批量插入和删除
10、MyBatis常用注解
5、MyBatis实现OA系统项目实战
接下来,我们来对MyBatis的知识进行综合应用,完成企业OA项目的实现。 OA项目是与MySQL数据库进行交互的Web项目,意在掌握一个完整的数据库应用分析与设计、开发过程。
课程安排:
1、需求分析到数据库的设计至建表的过程
2、手把手搭建底层开发框架
3、基于工作流程开发一个完整的员工请假与审批应用
4、使用RBAC权限模型完成基于角色的权限控制
5、使用动态SQL确定不同角色访问的数据范围
6、使用LayUI框架实现后台页面开发
7、使用MD5加密算法保证数据的安全性
8、大作业——图书后台管理
6、Linux环境搭建与Redis应用
在实际开发中,项目最终要被部署到Linux环境下,我们就会学习如何将企业OA项目部署到Linux下,并使用Redis进行数据缓存,提高访问速度。
课程安排:
1、CentOS 7系统、以及客户端工具Xshell和XFtp的下载和安装
2、Linux系统目录结构和常用命令
3、文本编辑工具vim
4、使用tar命令进行文件压缩和解压缩
5、使用Bash shell开发自动运维程序
6、使用yum进行软件安装卸载
7、Linux的网络设置
8、Linux下安装、部署并运行Web应用
9、Redis下载安装、基本配置和常用命令
10、使用Jedis对Redis进行操作
阶段四:从SSM到SpringBoot 项目实战
1、Spring基础
本阶段将开启Spring家族的框架学习,会重点学习Spring框架中的控制反转IoC、依赖注入DI和面向切面编程AOP的内容。框架部分的概念比较抽象,要结合案例进行理解,先学会使用,再进行深入学习。
课程安排:
1、Spring IoC、DI和AOP等核心概念
2、Spring实例化和管理Bean的方式
3、Spring注解分类和常用注解应用
4、Spring AOP开发与配置流程
5、Spring五种通知类型与应用场景
6、PointCut切人点表达式的语法规则及应用
7、JDK动态代理和CGLib代理的执行过程及区别
8、JdbcTemplate的使用步骤与增删改查实现
9、声明式事务与编程式事务的区别及开发流程
10、理解声明式事务七种事务传播行为
11、导入交易流水账单案例
2、Spring MVC基础
学习重点是SpringMVC,能够开发RESTful风格的API。至此,SSM框架的基础知识就已经学习完毕,后面将开启整合开发的学习,进行企业级项目开发。
课程安排:
1、SpringMVC开发流程与环境配置
2、SpringMVC数据绑定的实现
3、使用RESTful开发规范开发API
4、使用SpringMVC解决跨域问题
5、SpringMVC拦截器的基本使用
6、使用SpringMVC拦截器开发用户流量统计功能
3、SSM开发社交网站
会使用SSM实现“仿豆瓣”社交项目,该项目是SSM阶段最重要的项目,也是一个前后台分离的项目,使用移动端展示前台。该项目是我们学习的企业级项目,业务需求也比之前更加复杂,动手写代码更加重要。
课程安排:
1、项目的需求分析,用例设计,流程图绘制和数据库设计
2、使用MyBatis-plus敏捷开发插件实现数据的增删改查操作
3、使用Ajax+腾讯ArtTemplate模板进行热门图书查询
4、基于MyBatis实现分页查询,并实现上拉"加载更多"功能
5、采用Redis对访问的图书内容进行缓存
6、用户评价、回复和点赞功能实现
7、应用阿里云短信验证实现注册登录
8、使用Web富文本编辑器进行在线编辑
9、实现评价/回复的后台审核功能
10、大作业——图书后台管理系统的短评管理及登录功能
4、Spring Boot电商项目实战
接下来的两周我们将迎来重量级的电商项目,该项目源于企业真实应用,前后端彻底分离,带我们体验企业级开发流程,凭此一项综合实战,足以叩开企业大门。
课程安排:
1、采用前后端分离模式进行开发,覆盖企业开发需求分析、设计、编码、测试和上线全流程
2、实现用户管理、商品分类管理、商品信息管理、购物车、订单管理等电商核心功能
3、数据库设计与实现
4、应用RESTful进行接口设计,并使用Postman进行接口测试
5、应用MyBatis generator代码自动生成插件,提升开发效率
6、使用阿里云完成项目的线上部署
7、使用Swagger2构建强大的API文档
8、使用Log4j 2进行日志管理
9、使用Redis对商品分类信息进行缓存
10、使用JSR-303实现请求参数校验
5、面试
学习完前面的内容,已经可以满足公司对企业级开发的需求了。为了帮大家准备面试,专门为大家设计了面试指导课程,介绍面试中的注意事项,对常见面试问题进行解析。
课程安排:
1、面试前的准备,常见问题的解答方式及建议
2、面向对象的特点、类的执行顺序、Java异常体系
3、String与字符串常量池,String与StringBuffer的区别
4、List与Set集合的区别,TreeSet排序,hashCode与equals的区别与联系
5、垃圾回收与JVM内存
6、Servlet执行流程和生命周期
7、请求与响应结构、重定向与转发的区别
8、Spring的核心概念
9、MyBatis的缓存机制
阶段五:Java分布式与微服务实战
1、多线程与分布式
开始第五阶段的内容学习,主要包括分布式与微服务。这些内容也是互联网公司进行开发需要用到的知识点,知识深度也比之前有所提高,学习过程中要注意跟着视频进行操作。
课程安排:
1、线程池的基本使用和状态
2、ThreadLocal的基本使用、原理和注意事项
3、分布式核心概念
4、docker的下载、安装和基本命令
5、独立制作docker容器
6、Nginx的安装、基本使用和常用命令
7、使用Nginx搭建文件服务
8、消息队列RabbitMQ的核心概念queue、message和exchange
9、RabbitMQ的四种交换机模式
10、Spring Boot整合RabbitMQ案例
2、Spring Cloud基础
进行微服务的课程学习,通过案例完成对SpringCloud基础知识的介绍。
课程安排:
1、微服务的基本概念、设计与拆分原则
2、微服务和Spring Cloud的关系
3、微服务常见的组件和功能
4、课程查询案例基本介绍、系统架构设计和接口设计
5、分模块构建Spring Cloud项目
6、完成课程列表、课程价格等服务开发
7、课程服务整合,利用服务注册与发现机制,完成课程查询基本功能
8、整合Feign实现服务间调用
9、网关的集成与开发,并接入服务
10、引入服务的熔断与降级,并进行实操演练
3、Spring Cloud电商实战
下面的对Spring Boot电商项目进行重构,应用Spring Cloud进行项目开发,理解服务拆分规则,锻炼微服务项目实战开发能力。
课程安排:
1、服务拆分过程分析和经验分享
2、完成用户、商品、购物车和订单等服务开发
3、通用common模块的拆分和应用
4、Eureka server注册中心开发,用Feign完成服务之间的调用
5、共享Session的处理方案
6、统一网关的集成与开发
7、大作业——在项目基础上动手完成广告系统模块开发
4、Zookeeper+Dubbo应用与面试
对Dubbo和Zookeeper的应用进行介绍,区分它们与Spring Cloud的异同。最后同样安排了面试课程,对常见的面试问题进行总结。
课程安排:
1、Zookeeper的下载、配置与运行
2、数据结构node与常用命令
3、Watcher机制和权限acl介绍
4、使用Zookeeper的Java原生客户端和Curator进行开发
5、RPC调用,在Dubbo架构下各服务的关系
6、整合Dubbo和Zookeeper
7、完成Dubbo开发案例
8、单例模式的多种写法和对比
9、如何选型Dubbo和Spring Cloud
10、阐述Spring Cloud核心组件
栈程教育成⽴于2018年4⽉29⽇,⾪属于栈程(大连)科技有限公司旗下的IT教育品牌,公司总部位于⼤连,栈程教育秉承 “专注培养⾼级软件⼯程师”的经营理念,强化项⽬实战,在 教学产品研发⽅⾯不断精益求精,努⼒打造实战型,实⽤型, 全栈型⾼级软件⼯程师。
栈程教育依托于栈程(大连)科技有限公司的技术和项⽬,把总 部主要研发的产品融⼊IT教育,以“企业内训”⻛格为培养模 式,强化项⽬实战,企业讲师全部为10年左右的项⽬经理,把当下主流的编程技术融⼊到课程当中,增加教育的实⽤性,实战 性;同时栈程教育为总部软件产品研发输送⼈才,栈程(大连)科技有限公司⾃主产品包括智慧养⽼,智慧云医疗,教育ERP系 统,智慧旅游,快⻋租赁系统,同城快送系统,⾼校教育系 统,⾼校在线收费系统等;同时栈程教育专注⾼校项⽬合作, 已经与⼤连部分⾼校签订校企合作协议,同时为各⾼校提供软 件技术⽀持。
⽬前已开设:Java开发、Web前端、Python开发、对⽇开发、⼤数据开发等热⻔专业,涵盖:企业及应⽤开发、电⼦政 务系统、⾏业ERP解决⽅案、电⼦商务平台、商业智能与⼤数据 应⽤等技术领域。栈程教育⾼度重视学员实际动⼿能⼒的培 养,通过四个⽉左右公司内部项⽬的实战特训,⼒保学员拥有 “独⽴解决问题”的技术能⼒。 栈程教育以主流技术为依托,⾼薪就业为导向,企业项⽬为 实战,培养⾼级IT⼈才为⽬标,栈程教育-专注培养⾼级软件⼯ 程师!实现产业与教育⾼度融合。
公司主要软件产品如下:
汽⻋租赁系统
智慧云医疗管理系统
⾼校的教务在线
智慧养⽼互联⽹系统
智慧旅游票务⼩程序
同城快送App
医美教育分期系统
教育培训⾏业管理系统