企业内训

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

陈国星 · 授课老师

适合对象
研发工程师、售前技术工程师、运维工程师

企业通过校招或社招的新员工如何快速掌握Java开发的技能,进入实际的企业项目开发?企业已有员工想从其它岗位方向如何快速转型Java企业应用开发? 本课程采取由浅入深、案例实战驱动理论学习的教学方式,站在一个拥有多年Java开发经验的角度以理论+案例实战的方式带领学员攻克一个个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与开源框架的快速适配

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

微信咨询

添加客服微信

选好课程后,可在微信中沟通培训内容、讲师和时间安排。

正在读取联系方式…

查看完整咨询说明 →