讲师公开课内训文章


首页>公开课程 > IT相关 [返回PC端]

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

讲师:陈国星天数:1天费用:元/人关注:148

日程安排:

课程大纲:

Java企业应用开发项目课程

【课程背景】
企业通过校招或社招的新员工如何快速掌握Java开发的技能,进入实际的企业项目开发?企业已有员工想从其它岗位方向如何快速转型Java企业应用开发?
本课程采取由浅入深、案例实战驱动理论学习的教学方式,站在一个拥有多年Java开发经验的角度以理论+案例实战的方式带领学员攻克一个个Java企业应用开发的各个必备技能?包括像Java企业应用开发的核心技术有哪些?如何利用业界主流的技术框架SpringBoot、SpringCloud快速的进行Java企业应用开发,完成整个综合案例。
通过该课程的学习,可使学员了解Java体系的技术要求,理解Java企业应用开发精髓,了解业界最流行的Java框架与技术,会结合开发工具的一些常用的功能、快速代码生成的技巧、调试技巧跟学员进行实战讲解,使学员能够熟练的掌握Java企业应用日常开发中必备的一些技能。课程全程会贯穿一个完整项目案例,贯穿课程当中所学知识,真正做到学以致用和快速落地。

【课程收益】
掌握Java语言基础
掌握基于Java企业级应用开发流程
掌握数据库设计与开发
掌握Java单体应用开发技术栈
掌握Java企业级应用开发框架SSM
掌握Java分布式系统开发技术栈
掌握Java快速开发框架SpringBoot
掌握微服务架构开发框架SpringCloud

【课程对象】研发工程师、售前技术工程师、运维工程师

【课程大纲】
一、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实现IP Filter
案例:通过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对Spring Data 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、微服务之Spring Cloud
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与Spring Cloud Hystrix对比
实战:通过跨服务的远程调用服务降级与熔断模拟,通过Hystrix Dashboard查看可视化监控数据
实战:基于Sentinel配置管理平台实现动态限流
实战:基于Sentinel实现上游服务订单服务调用下游服务商品服务限流
10、微服务之网关
微服务网关定义
微服务网关的应用场景有哪些?
网关的实现原理
SpringCloud之微服务网关zuul
编写zuul微服务网关的流程
zuul过滤器的应用
zuul的容错与回退处理
zuul如何自定义服务的中转策略
SpringCloud之微服务网关gateway
实战:基于zuul实现远程案例中服务的鉴权
实战:基于spring cloud gateway实现远程案例中服务的鉴权

六、综合案例
1、综合案例介绍
需求与功能分析
架构设计(确认采用技术架构、技术栈、数据交互流程图)
接口梳理
数据库表设计
服务拆分与设计
2、工程搭建
创建父工程
创建基础模块
创建用户微服务
创建商品微服务
创建订单微服务
3、商品微服务开发
实体层开发
数据访问层开发
服务层开发
接口层开发
单元测试
4、订单微服务开发
实体层开发
数据访问层开发
服务层开发
接口层开发
单元测试
5、用户微服务开发
实体层开发
数据访问层开发
服务层开发
接口层开发
单元测试
6、网关层微服务开发
网关路由映射设计
网关鉴权功能开发
8、集成测试与验证

Java企业应用开发项目课程

上一篇: 高效执行力——做才会有结果
下一篇: 精讲巧编—— 企业培训师实战授课技巧训练营(中级TT


其他相关公开课程:


联系电话:4000504030
24小时热线(微信):
13262638878(华东)
18311088860(华北)
13380305545(华南)
15821558037(华西)
服务投诉:13357915191

 
线上课程关注公众号