让天下没有难找的讲师,职业讲师,商业讲师,培训师,讲师库-北京昭智教育

陈国星《Java企业应用开发与项目实战》

[复制链接]
《Java企业应用开发与项目实战》  
            立志于快速专向Java企业应用开发  
主讲:陈国星
【课程背景】
企业通过校招或社招的新员工如何快速掌握Java开发的技能,进入实际的企业项目开发?企业已有员工想从其它岗位方向如何快速转型Java企业应用开发?
本课程采取由浅入深、案例实战驱动理论学习的教学方式,站在一个拥有多年Java开发经验的角度以理论+案例实战的方式带领学员攻克一个个Java企业应用开发的各个必备技能?包括像Java企业应用开发的核心技术有哪些?如何利用业界主流的技术框架SpringBoot、SpringCloud快速的进行Java企业应用开发,完成整个综合案例。
通过该课程的学习,可使学员了解Java体系的技术要求,理解Java企业应用开发精髓,了解业界最流行的Java框架与技术,会结合开发工具的一些常用的功能、快速代码生成的技巧、调试技巧跟学员进行实战讲解,使学员能够熟练的掌握Java企业应用日常开发中必备的一些技能。课程全程会贯穿一个完整项目案例,贯穿课程当中所学知识,真正做到学以致用和快速落地。
【课程收益】
Ø  掌握Java语言基础
Ø  掌握基于Java企业级应用开发流程
Ø  掌握数据库设计与开发
Ø  掌握Java单体应用开发技术栈
Ø  掌握Java企业级应用开发框架SSM
Ø  掌握Java分布式系统开发技术栈
Ø  掌握Java快速开发框架SpringBoot
Ø  掌握微服务架构开发框架SpringCloud
【课程对象】研发工程师、售前技术工程师、运维工程师
【课程时间】1天
【课程大纲】


一、Java企业应用开发之核心J2SE
1、Java简介
Ø  Java语言简介
Ø  Java语言特点
Ø  JDK安装与环境变量配置
Ø  开发Java程序的步骤
Ø  集成开发环境IDEA的介绍
Ø  IDEA的环境配置
Ø  Java源程序和字节码文件
案例:使用IDEA编写第一个Java程序
2、Java虚拟机和垃圾回收
Ø  虚拟机的介绍和分类
Ø  Java虚拟机
Ø  Java虚拟机的运行过程
Ø  Java虚拟机的基本原理
Ø  Java虚拟机的基本概念
Ø  Java虚拟机的结构组成
Ø  垃圾回收介绍
Ø  垃圾回收的原理和意义
Ø  如何强制进行垃圾回收
Ø  垃圾回收策略和优化
案例:Java虚拟机调优
3、Java面向对象
Ø  Java继承
Ø  Java Override/Overload
Ø  Java多态
Ø  Java抽象类
Ø  Java封装
Ø  Java枚举
Ø  Java包
Ø  面向对象的基本概念
Ø  面向对象的封装、继承与多态
Ø  面向对象设计原则
Ø  常用面向对象设计模式
案例:案例驱动面向对象原则和面向对象设计模式实战
4、集合
Ø  集合的定义与集合框架的优点
Ø  Java.util中的常用的集合类介绍
Ø  ArrayList
Ø  迭代器
Ø  LinkedList
Ø  Vector
Ø  HashMap
Ø  Set
Ø  集合的应用
Ø  高并发场景下非同步类容器面临问题
Ø  Java中高并发容器原理与应用实战
案例:实例演示各种集合类的应用
案例:实例模拟高并发下非同步类容器线程安全问题
案例:实例演示高并发容器的应用
5、异常
Ø  异常应用案例
Ø  异常分类:编译时异常和运行时异常
Ø  自定义业务异常
案例:系统异常与自定义异常的应用实战
6、多线程
Ø  线程的概念
Ø  进程与线程的区别
Ø  为什么要使用多线程
Ø  Java实现多线程的两种方式Thread和Runnable
Ø  线程优先级
Ø  线程的生命周期
Ø  线程的状态
Ø  什么是后台线程
Ø  生产者与消费者模式
Ø  线程池的定义与应用场景
Ø  同步与异步的区别
Ø  有哪些常见的线程池以及用法
Ø  如何实现自定义线程池
Ø  多线程间线程同步问题怎么解决?
Ø  多线程间协作的模型有哪些
案例:实例演示4种类型线程池的应用
案例:案例演示多线程间协同调度
7、Maven工程结构
Ø  环境配置
Ø  创建maven项目
Ø  导出依赖jar包的插件配置pom.xml
Ø  如何正确配置dependency
Ø  如何配置中央仓库
Ø  如何配置maven私服nexus
Ø  Maven多模块管理
8、JDBC
Ø  Reflection简介与其工作原理
Ø  Java动态相关机制反射
Ø  使用Reflection的3个步骤
Ø  数据库访问技术简介
Ø  数据库编程步骤
Ø  ODBC与JDBC的介绍与使用差异
Ø  JDBC的详细介绍
Ø  JDBC工作示意图
Ø  JDBC访问数据库步骤
Ø  JDBC操作数据库示例
Ø  事务的处理和使用
案例:基于JDBC访问数据库实现增删改查
案例:基于JDBC访问数据库方式如何防止SQL注入
二、Java Web应用开发
1、Java企业应用开发之Web应用服务器tomcat
Ø  tomcat介绍
Ø  tomcat的安装与环境配置
Ø  tomcat的常用操作与安装目录结构介绍
Ø  tomcat管控台介绍
Ø  tomcat集成到IDEA
2、Servlet介绍与应用
Ø  Servlet简介
Ø  基于Servlet实现MVC开发模式
Ø  Servlet工作原理
Ø  Servlet生命周期
Ø  基于Servlet实现文件的上传和下载
Ø  什么是过滤器
Ø  过滤器的基本原理
案例:通过Servlet实现文件的上传和下载Servlet过滤器
案例:通过Servlet实现IPFilter
案例:通过Servlet实现字符编码的Filter
三、数据库设计与应用
1、数据库设计概述
Ø  各数据库分类与应用场景
Ø  关系数据库管理系统与关系数据库
Ø  结构化查询语言SQL
Ø  常用数据库建模与设计工具
Ø  E-R图设计原则与绘制
2、关系型数据库设计
Ø  实体与表间关系
Ø  表主键定义
Ø  一对多与多对多表关系
Ø  数据类型设计
Ø  合理表设计的几大原则
3、表记录的插入、更新和删除
Ø  Insert插入表记录
Ø  数据库表自增字段
Ø  Update更新表记录
Ø  批量插入多条记录
Ø  Insert…select插入结果集数据
Ø  Delete删除表记录
Ø  Truncate删除表记录
4、表记录的查询
Ø  使用select语句查询指定字段列表
Ø  使用from字句指定要查询的数据表
Ø  多表关联查询
Ø  使用单一过滤条件过滤结果集
Ø  非空判断运算符
Ø  使用like进行模糊查询
Ø  使用order by字句对结果集排序
Ø  使用聚合函数汇总结果集
Ø  Group by与聚合函数
Ø  Group by与having字句
Ø  子查询与比较运算符
Ø  子查询与in运算符
Ø  子查询与exists逻辑运算符
Ø  子查询与any运算符
Ø  子查询与all运算符
5、函数
Ø  系统函数与自定义函数
Ø  系统函数之数学函数
Ø  系统函数之字符串函数
Ø  系统函数之日期和时间函数
6、视图与触发器
Ø  视图的定义与创建
Ø  视图作用分析
Ø  删除视图
Ø  使用触发器实现检查约束
Ø  触发器实现冗余数据维护
Ø  触发器的删除与注意事项
7、存储过程
Ø  存储过程的应用场景
Ø  存储过程的定义与创建
Ø  预处理SQL
8、事务与锁机制
Ø  为什么要使用事务
Ø  事务的自提交
Ø  事务的提交与回滚
Ø  事务的ACID特性
Ø  事务的隔离级别与并发问题
Ø  MySQL事务的四种隔离级别
Ø  锁机制的必要性
Ø  表锁
Ø  行锁
Ø  间隙锁
Ø  死锁与锁等待
四、Java企业级应用开发之SSM框架
1、SSM框架
Ø  框架是什么?为什么要使用框架?
Ø  Java企业应用开发各框架的应用情况
Ø  SSM框架的架构以及各层技术职责
Ø  MVC的介绍和原理
2、Spring
Ø  什么是Spring
Ø  Spring的模块组成
Ø  Spring工作原理
Ø  搭建Spring开发环境
Ø  建立Spring项目
Ø  Spring中Bean配置
Ø  Spring-Bean作用域
Ø  IOC和DI
Ø  IOC出现之前-分离接口与实现
Ø  IOC出现之前-采用工厂设计模式
Ø  IOC反转控制思想
Ø  Spring的IOC容器配置Bean
Ø  Spring容器
Ø  ApplicationContext
Ø  依赖注入的3种方式
Ø  外部属性文件的使用
Ø  组件扫描和组件装配
Ø  AOP简介
Ø  Spring AOP思想与原理
Ø  Spring数据库连接池
Ø  Spring事务管理
Ø  SpringMVC与Spring的整合
Ø  Mybatis与Spring整合
案例:基于Spring AOP实现的方法执行时间统计
3、前端控制层之SpringMVC
Ø  什么是SpringMVC
Ø  SpringMVC工作原理
Ø  SpringMVC请求处理流程
Ø  SpringMVC框架介绍
Ø  创建SpringMVC应用
Ø  基于注解应用
Ø  SpringMVC常用注解
Ø  SpringMVC与Web应用集成
案例:SpringBoot下SpringMVC完成增删改查的界面和控制器部分
案例:SpringBoot下SpringMVC完成基于restful的增删改查
4、数据访问层
Ø  Java企业应用开发中数据访问技术有哪些
Ø  数据访问之Mybatis的介绍
Ø  数据访问之Mybatis与传统JDBC的比较
Ø  数据访问之Mybatis环境配置
Ø  数据访问之Mybatis事务管理
Ø  数据访问之Mybatis配置数据源
Ø  数据访问之Mybatis的SQL映射文件
Ø  CRUD(查询)
Ø  CRUD(插入)
Ø  CRUD(修改)
Ø  CRUD(删除)
Ø  数据访问之Mybatis动态SQL
Ø  动态sql语句-if
Ø  动态sql语句-choose
Ø  动态sql语句-trim
Ø  动态sql语句-where
Ø  动态sql语句-set
Ø  动态sql语句-foreach
Ø  动态sql语句-array
Ø  动态sql语句-map
Ø  实现关联数据的查询
Ø  数据访问之Mybatis的缓存
Ø  Mybatis代码生成工具
Ø  Mybatis sql输出
Ø  Mybatis延时加载
Ø  与Spring5的集成
Ø  与SpringMVC的集成
Ø  数据访问之JdbcTemplate应用与实战
Ø  数据访问之JPA应用与实战
案例:基于Mybatis实现的增删改查
案例:基于JdbcTemplate实现的增删改查
案例:基于JPA实现的增删改查
案例:基于SSM三大框架的整合案例实战
五、Java企业级应用快速开发框架之SpringBoot
1、微服务基础
Ø  传统单体架构面临的问题
Ø  微服务架构演变过程剖析
Ø  从微服务架构要求剖析微服务架构应解决哪些问题?
Ø  介绍微服务基本概念、技术发展的由来,以及目前流行的技术(主要针对Java 平台),Spring Boot、Spring Cloud、Spring Cloud Stream等
Ø  Spring Boot 预备环境、新建 Spring Boot 应用、代码组织结构、运行
2、SpringBoot概述
Ø  什么是Spring Boot
Ø  Spring Boot的核心功能
Ø  Spring Boot的优缺点对比
Ø  Spring Boot的版本
Ø  Spring Boot环境快速搭建
实战:使用SpringBoot快速构建RESTful API应用
3、SpringBoot核心配置
Ø  启动类与@SpringBootApplication
Ø  自动配置的开闭
Ø  Spring Boot的配置文件
Ø  Spring Boot之starter pom
Ø  使用命令行参数实现外部配置
Ø  常规属性的配置
Ø  多环境配置之Profile配置
Ø  SpringBoot的包版本管理
Ø  SpringBoot自动配置
Ø  SpringBoot热部署机制
Ø  如何自定义配置参数?
Ø  外部化配置
Ø  多环境配置
Ø  Spring Boot常用注解
Ø  Spring Boot发布之jar与war
Ø  生产级特性
Ø  外部配置
Ø  监控
实战:使用SpringBoot基于多环境的快速切换
4、SpringBoot数据库开发
Ø  SpringBoot使用JPA实现ORM
Ø  SpringBoot的JPA常用注解
Ø  SpringBoot整合JPA
Ø  SpringBoot整合Mybatis
Ø  介绍JDBCTemplate背景
Ø  SpringBoot整合JDBCTemplate
实战:SpringBoot对SpringData JPA的整合
5、SpringBoot与Redis整合
Ø  Redis简介与背景介绍
Ø  Redis安装与配置
Ø  Redis常用数据类型
Ø  Redis结构与底层原理
Ø  Redis常用命令
Ø  Redis键
Ø  Redis字符串、列表、集合
Ø  Redis事务机制
Ø  Redis发布订阅
Ø  Redis数据备份与恢复机制rdb与aof
Ø  SpringBoot与Redis整合
实战:SpringBoot整合redis实现热数据缓存
实战:SpringBoot整合redis实现分布式锁
七、Java企业应用开发之分布式系统与微服务
1、架构演变历程
Ø  传统单体架构分析
Ø  单体架构局限性与面临的挑战
Ø  如何解决单体架构的局限性和面临挑战?
Ø  架构的演变历程剖析
案例:结合案例分析传统单体架构面临问题
2、微服务架构综述
Ø  什么是微服务架构?
Ø  微服务架构优点
Ø  微服务架构面临的挑战有哪些?
Ø  微服务生命周期与交付流程
Ø  微服务管理规范
Ø  微服务解决方案的技术选型
Ø  微服务架构及常用组件
Ø  基于微服务架构的设计对于团队有什么要求?
Ø  什么类型场景不适合上微服务架构?
3、微服务的设计与拆分
Ø  服务的设计、开发和运维流程
Ø  服务拆分的维度有哪些?如何正确的进行服务拆分?
Ø  服务拆分后常遇问题有哪些?如何解决?
Ø  服务的设计原则
Ø  服务拆分后面临挑战
4、微服务之SpringCloud
Ø  Spring Cloud定义
Ø  Spring Cloud生态子项目剖析
Ø  Spring Cloud特点
5、微服务之注册中心
Ø  服务调用端与服务提供端之间透明通信
Ø  如何实现服务的动态注册与发现
Ø  注册中心引入
Ø  注册中心之zookeeper
Ø  注册中心底层实现剖析
Ø  SpringCloud之注册中心Eureka
Ø  Eureka服务注册与发现的原理剖析
Ø  Eureka的自保护机制
Ø  Eureka的应用实战
Ø  Eureka的高可用
Ø  SCA下服务注册与发现中心之Nacos?
Ø  Nacos基本架构
Ø  Nacos支持功能(服务发现、配置管理…)
Ø  Nacos SDK与Open-API
Ø  Nacos与Eureka对比
实战:将案例中的各微服务基于EurkaServer实现服务的注册与发现
实战:将案例实战中的各微服务基于Nacos实现的服务注册与发现
6、微服务之远程调用
Ø  如何实现跨服务间的远程调用?
Ø  跨服务间远程调用的几种方式?
Ø  跨服务间远程调用需考虑的因素有哪些?
Ø  如何实现跨服务调用的负载均衡?
Ø  服务端负载均衡常见方案
Ø  客户端负载均衡常见方案
7、微服务之远程同步调用
Ø  基于RestTemplate的直连远程调用
Ø  RestTemplate如何与Eureka实现服务发现以及负载均衡
Ø  基于Feign实现的远程负载均衡调用
Ø  如何解决跨服务间同步调用的数据一致性?
Ø  本地事务定义以及事务的ACID特性分析
Ø  什么是分布式事务?
Ø  分布式事务的应用场景有哪些?
Ø  分布式事务的原理
Ø  分布式事务XA协议、两阶段提交与三阶段提交的流程与原理剖析
Ø  SCA下Seata对事务模式的支持
Ø  Seata AT模式下的应用实战
实战:基于RestTemplate实现直连的远程调用
实战:基于RestTemplate与Eureka整合实现的远程负载均衡调用
实战:基于Feign方式实现的订单服务远程调用商品服务
8、微服务之远程异步调用
Ø  跨服务间异步调用的实现方式
Ø  跨服务间异步调用如何确保异步成功执行?
Ø  基于MQ实现微服务异步调用
Ø  MQ的异步通知模型
Ø  异步通知模型下服务的幂等性要求
Ø  如何实现本地事务与MQ消息发送的一致性
Ø  基于MQ下的事务消息模型
Ø  分布式系统之同步调用案例分析
Ø  分布式系统同步调用存在问题与优化方向
Ø  消息队列之分布式系统异步调用案例分析
Ø  消息队列之削峰填谷案例分析
Ø  消息中间件选型与对比
Ø  消息队列编程模型之点对点
Ø  消息队列编程模型之发布/订阅
Ø  消息队列Kakfa安装与配置
Ø  Kafka主题管理与创建
Ø  Kafka消息发送
Ø  Kafka消息消费(单播、多播)
Ø  Kafka消费消息偏移量
Ø  Kafka消费者分组
Ø  Kafka分区与副本
Ø  Kafka集群
实战:实战演示多服务间的远程异步调用
9、微服务之容错处理
Ø  雪崩效应场景分析
Ø  如何应对雪崩效应下的容错处理
Ø  微服务间调用超时如何处理?
Ø  如何实现微服务的服务降级与熔断
Ø  如何对服务提供者实现限流?
Ø  Spring Cloud体系下之容错处理解决方案断路器Hystrix
Ø  基于Hystrix实现方法级的服务降级与熔断
Ø  基于Hystrix服务降级与熔断策略的配置
Ø  如何正确设置服务的超时时间?应遵循什么原则?
Ø  基于Hystrix Dashboard实现服务的流量与熔断监控
Ø  SCA服务限流降级之Sentinel
Ø  Sentinel的基本概念:资源、规则
Ø  Sentinel的工作流程与原理剖析
Ø  Sentinel对流量控制、熔断降级的实现机制
Ø  Sentinel实时监控和规则管理的控制台
Ø  Sentinel与开源框架的快速适配
Ø  Spring Cloud体系下之容错处理解决方案断路器Hystrix
Ø  Sentinel与SpringCloud Hystrix对比
实战:通过跨服务的远程调用服务降级与熔断模拟,通过Hystrix Dashboard查看可视化监控数据
实战:基于Sentinel配置管理平台实现动态限流
实战:基于Sentinel实现上游服务订单服务调用下游服务商品服务限流
10、微服务之网关
Ø  微服务网关定义
Ø  微服务网关的应用场景有哪些?
Ø  网关的实现原理
Ø  SpringCloud之微服务网关zuul
Ø  编写zuul微服务网关的流程
Ø  zuul过滤器的应用
Ø  zuul的容错与回退处理
Ø  zuul如何自定义服务的中转策略
Ø  SpringCloud之微服务网关gateway
实战:基于zuul实现远程案例中服务的鉴权
实战:基于spring cloud gateway实现远程案例中服务的鉴权
六、综合案例
1、综合案例介绍
Ø  需求与功能分析
Ø  架构设计(确认采用技术架构、技术栈、数据交互流程图)
Ø  接口梳理
Ø  数据库表设计
Ø  服务拆分与设计
2、工程搭建
Ø  创建父工程
Ø  创建基础模块
Ø  创建用户微服务
Ø  创建商品微服务
Ø  创建订单微服务
3、商品微服务开发
Ø  实体层开发
Ø  数据访问层开发
Ø  服务层开发
Ø  接口层开发
Ø  单元测试
4、订单微服务开发
Ø  实体层开发
Ø  数据访问层开发
Ø  服务层开发
Ø  接口层开发
Ø  单元测试
6、用户微服务开发
Ø  实体层开发
Ø  数据访问层开发
Ø  服务层开发
Ø  接口层开发
Ø  单元测试
7、网关层微服务开发
Ø  网关路由映射设计
Ø  网关鉴权功能开发
8、集成测试与验证

管理技能讲师|企业战略讲师|网络媒体讲师|营销服务讲师|职场技能讲师|人力资源讲师|党政爱国讲师|财税金融讲师|生产管理讲师|其他类讲师|内训课程|讲师列表|手机版|

讲师库 | 讲师列表 | 账号登录 | 立即注册 | 网站地图 | 京公网安备11010702002698 | 京ICP备2024062795号-1

返回顶部 返回列表