员工培训网-企业培训首选服务平台!
陈国星

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实现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、订单微服务开发

实体层开发

数据访问层开发

服务层开发

接口层开发

单元测试

6、用户微服务开发

实体层开发

数据访问层开发

服务层开发

接口层开发

单元测试

7、网关层微服务开发

网关路由映射设计

网关鉴权功能开发

8、集成测试与验证

陈国星的其他课程

有需求找员培
-- 1000+实战师资团队 --
极速匹配师资,定制方案
通信技术相关培训师
  • 高晖
    未来通信技术专家
  • 黄传武
    通信趋势与运营专家
  • 钟运琴
    金融科技实战专家
  • 吕景胜
    中国人民大学商学院企业管理系教授
  • 丰雷
    北京邮电大学副教授
  • 邓卫
    通信行业与汽车行业、软件硬件与云服务的跨界者
通信技术相关内训课
通信技术相关公开课

讲师内训服务流程

1
匹配师资
根据企业需求匹配最佳讲师课程
2
课前沟通
安排讲师与企业负责人课前充分沟通
3
确定课程
讲师根据课前调研确定大纲并经企业确认
4
制作物料
我方打印课程讲义、桌牌等课程所需物料
5
讲师授课
安排讲师到场授课,企业组织学员参加
6
课后服务
课后回访学习情况并持续服务
邀请陈国星老师内训
下载课程大纲
提交成功,我们会尽快联系您!