陈国星
  • 陈国星企业IT团队技能提升引领者
  • 擅长领域: 管理技能提升
  • 讲师报价: 面议
  • 常驻城市:广州市
  • 学员评价: 暂无评价 发表评价
  • 助理电话: 13370590290 QQ:863028124 微信扫码加我好友
  • 在线咨询

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

主讲老师:陈国星
发布时间:2024-09-30 14:47:16
课程领域:项目管理 项目管理
课程详情:

【课程背景】

企业通过校招或社招的新员工如何快速掌握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多模块管理

8JDBC

Ø 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的介绍和原理

2Spring

Ø 什么是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、集成测试与验证

其他课程

微服务架构设计与实战
其他
【课程背景】随着互联网时代的到来,数据量急剧增加,并发量也越来越大,传统的单体应用访问起来变得越来越缓慢?企业如何快速的找到应用缓慢的根源并进行快速的优化?企业如何重新规划和设计高可用高并发的分布式系统的架构,而微服务架构已然成为分布式系统架构最主流的实现方案。本课程首先从软件架构的演变历程开始分析,分析传统的单体架构是如何演变为微服务架构的?探讨了基于微服务架构对团队技能以及团队组织架构的要求,
软件安全设计与开发实战
其他
【课程背景】随着互联网时代的到来,企业的应用也逐步转向互联网,以互联网形式开放给用户进行使用?而互联网带来最大的问题就是安全问题,企业如何解决互联网应用的安全问题?本课程在主动的安全开发框架指导下,深入剖析软件开发生命周期各阶段的安全细节问题,理解协同构建安全系统的方法。并通过大量的动手实操和相关案例贯穿所有的理论知识,使学员熟练掌握代码安全漏洞分析、编程规范、代码质量问题分析、安全设计与防御常见
分布式架构设计
其他
【课程背景】随着互联网时代的到来,数据量急剧增加,并发量也越来越大,传统的应用访问起来变得越来越缓慢?企业如何快速的找到应用缓慢的根源并进行快速的优化?企业如何重新规划和设计高可用高并发的分布式系统的架构?本课程围绕实际的项目中遇到的各种瓶颈展开,一方面有针对性的分别从分布式系统中常用中间件、讲解各类中间件的原理、应用场景以及如何构造高性能的大型的分布式的应用系统;另一方面,从数据库层面如何应对分
Java企业应用开发与项目实战
项目管理
【课程背景】企业通过校招或社招的新员工如何快速掌握Java开发的技能,进入实际的企业项目开发?企业已有员工想从其它岗位方向如何快速转型Java企业应用开发?本课程采取由浅入深、案例实战驱动理论学习的教学方式,站在一个拥有多年Java开发经验的角度以理论+案例实战的方式带领学员攻克一个个Java企业应用开发的各个必备技能?包括像Java企业应用开发的核心技术有哪些?如何利用业界主流的技术框架Spri
授课见证
推荐讲师

马成功

Office超级实战派讲师,国内IPO排版第一人

讲师课酬: 面议

常驻城市:北京市

学员评价:

贾倩

注册形象设计师,国家二级企业培训师,国家二级人力资源管理师

讲师课酬: 面议

常驻城市:深圳市

学员评价:

郑惠芳

人力资源专家

讲师课酬: 面议

常驻城市:上海市

学员评价:

晏世乐

资深培训师,职业演说家,专业咨询顾问

讲师课酬: 面议

常驻城市:深圳市

学员评价:

文小林

实战人才培养应用专家

讲师课酬: 面议

常驻城市:深圳市

学员评价: