4006-998-758
3000+课程任你选择
基于SPRING分布式架构 最佳实践与案例分析
研发学院 软件架构师 开课时间:2022-02-16
刘兵

曾就职于 IBM 中国研发中心,任 WebSphere 软件架构师。

后加入 BEA 中国区专业服务部,任高级技术顾问、首席顾问、项目经理

主要负责 BEA 客户项目的架构设计和项目开发、技术支持,保证项目的成功实施、运行及维护。参加过全省、全国多个大型的计算机应用项目,涉及的行业领域包括电信、银行、 税务、社保等。 


查看老师详情
课程内容

课程介绍


毋庸置疑,Spring 早已成为 Java 后端开发事实上的行业标准,无数的公司选择 Spring 作为基础的开发框架,大部分Java 后端程序员在日常工作中也会接触到 Spring ,因此,如何用好 Spring ,也就成为 Java 程序员的必修课之一。

同时,Spring Boot 和 Spring Cloud 的出现,可以帮助工程师更好地基于 Spring 及各种基础设施来快速搭建系统,可以说,它们的诞生又一次解放了大家的生产力。

因此,Spring Boot 和 Spring Cloud 已成为 Spring 生态中不可或缺的一环。想成为一名合格的 Java 后端工程师,Spring Framework、Spring Boot、Spring Cloud 这三者必须都牢牢掌握。

同时,这门课将不仅带给你 Spring Framework、Spring Boot 与 Spring Cloud 的基本实战技巧,同时也会带你了解这些工具背后的关键机制与实现原理,真正做到活学活用。

微服务是一种分布式系统架构解决方案,推动细粒度服务的使用,这些服务协同工作,且每个服务都有自己的生命周期。因为微服务主要围绕业务领域建模,所以避免了由传统的分层架构引发的很多问题。微服务也整合了过去十年来的新概念和技术,因此得以避开许多面向服务的架构中的陷阱。

该课程适应于各类技术人员.细粒度的微服务架构包含了很多方面的内容,所以本课程涉及范围很广,适用于对系统的设计、开发、部署、测试和运维感兴趣的人们。对于那些已经走上更细粒度架构之路的人,无论是开发新应用,还是拆分现有的单块系统,都会因课程里很多的实用建议而受益。对于想要了解微服务方方面面的人,也可以帮助你确定微服务是否适合你。


课程大纲


主题

培训内容

备注

第1章节-   spring 框架IOC与DI

第1单元Spring   framework 实战

内容一:Spring framework

1.     Spring的由来与发展

2.     Spring   framework的概念及理念

3.     Spring   framework框架体系结构

4.     Spring   Boot框架

5.     Spring   Clould与微服务

6.     Spring未来

 

内容二:Spring framework 的IOC与DI

1.     Spring   framework概述

2.     Spring   framework的IOC 容器

3.     理解Spring依赖注入

4.     Spring   framework DI应用

5.      企业级应用中的依赖注入

6.     Spring   framework AOP介绍

7.     Spring   framework的 AOP使用

 

内容三: Spring Bean装配

1.     BeanFactory介绍

2.     使用应用上下文

3.     Bean的生命周期

4.     创建Bean和注入

5.     注入Bean属性

6.     Bean自动装配

7.     控制Bean创建

8.     高级Bean装配

9.     Spring支持的注解类型与开启方式

10.  Spring容器配置注解

11.  自动装配的更多介绍

 

内容四: Spring数据类型的转换、验证与异常处理

1.     类型转换

2.     类型转换在容器中的使用

3.     数据绑定

4.     数据验证

5.     Spring核心容器的验证

6.     验证器配置及增加自定义验证器

7.     为什么需要spring expression language

8.     SpEL表达式

9.     SPEL语言特性

 

内容五:Spring数据访问技术

1.     Java常见的ORM框架

2.      SpringHibernate开发步骤与实例

3.     SpringJPA—Java持久层应用接口

4.     SpringMyBatis

5.      Spring数据访问与事务管理

6.     Spring   JDBC模板类

7.      JdbcTemplate的使用

8.      Spring与ORM的整合概览

9.      Spring事务处理

 


                                    第2章节-   spring单元测试与集成测试

第1单元   单元测试概述

内容一:理解单元测试

1.        什么是单元测试?

2.        为什么要写单元测试,为什么不写单元测试

3.        理解单元测试--第一个单元测试案例

4.        好的测试是什么样子的,为什么要写"好"的单元测试

5.        单元测试的维护成本

6.        单元测试与自动化测试

7.        分析真实项目,如何做单元测试

8.        通过案例分析,了解基本的单元测试

 


第2单元   单元测试框架—Junit5

内容一:理解单元测试JUnit 框架

1.     JUnit 5 概述

2.     JUnit 5 参数化测试

3.     JUnit 5 断言

4.     JUnit 5 嵌套测试

5.     JUnit 5 动态测试

6.     超时操作的测试:assertTimeoutPreemptively

7.     异常测试:assertThrows

8.     Junit5和Junit4 区别


第3单元   单元测试stub与mock,以及Mocikto框架

内容一:解除依赖关系 – Stub对象

1.        反测试设计-外部依赖

2.        利用Stub解除依赖关系

3.        使用存根Stub破除依赖

4.        依赖注入Stub的方式

5.        多种Stub的案例

6.        分析真实项目,如何使用Stub

 

内容二:通过Mock对象解除依赖

1.        Mock模拟对象和Stub存根的区别

2.        手工Mock测试

3.        手工Mock模拟对象的简单示例 

4.        同时使用Mock模拟对象和Stub存根

5.        每个测试方法仅有一个模拟对象

6.        伪对象链:用存根生成模拟对象或其他存根

7.        手工模拟对象和存根的问题

8.        分析真实项目,如何使用Mock, 以及相关问题

 

内容三:Mock隔离框架(Mockito)

1.        Mockito 介绍

2.        Mockito实现原理与架构

3.        Mockito资源

4.        Mockito验证行为

5.        Mockito模拟我们所期望的结果

6.        参数匹配和自定义参数匹配

7.        连续调用和验证确切的调用次数

8.        验证执行顺序

9.        使用方法预期回调接口生成期望值(Answer结构)

10.  修改对未预设的调用返回默认期望

11.  Mockito如何实现Mock

 


第4单元   Spring单元测试与集成测试

内容一:基于Spring的单元测试

1.        JUnit中加入Spring容器进行测试

2.        Spring测试模块

3.        Spring测试模块对单元测试的支持

4.        Spring测试框架

5.        Spring测试注解

6.        Spring测试专用的注解

7.        测试支持的标准注解

8.        基于JUnit 4支持的注解

9.        基于JUnit Jupiter(JUnit 5)支持的注解

 

内容二:基于Spring的集成测试

1.    spring 企业应用

2.    spring系统分层架构与分层的单元测试

3.    spring集成测试案例的分析

4.    spring UI层测试

5.    spring Ctroller层测试

6.    spring Service层测试

7.    spring 数据存取层测试

 


第3章节-   spring Boot

第1单元-基于SpringBoot开发实现

 

内容一:基于 Spring Boot平台开发

1.      Spring   Boot简介

2.      Spring   Boot项目构建

3.      Spring   Boot项目发布

4.      Spring   Boot基础知识

5.      Spring   Boot启动原理

6.      SpringApplication启动探索

7.      Spring   Boot基础配置

8.      Spring   Boot配置文件加载机制

9.      Spring   Boot构建RESTful风格

10.  RESTful简介

11.  Spring   Data REST实现REST服务

 

内容二:Spring Boot整合持久层技术

1.      Spring   Data JDBC

2.      配置使用Spring Data JPA

3.      Spring   Boot事务管理配置

4.        Spring Boot 多数据源配置


第4章节-   spring    clould

第1单元-微服务架构设计开发实现—SpringCloud

 

 

内容一:微服务架构与云架构--Spring Cloud平台

1.      Spring   Cloud体系

2.      服务注册与发现:Spring Cloud Eureka

3.      客户端负载均衡:Spring Cloud Ribbon

4.      服务容错保护:Spring Cloud Hystrix

5.      声明式服务调用:Spring Cloud Feign

6.      分布式配置中心:Spring Cloud Config

7.      消息总线:Spring Cloud Bus

8.      多个基于SpringBoot和SpringCloud云架构,谈微服务和云架构

 


第2单元--微服务注册与发现,服务路由,统一配置中心

内容一:微服务注册与发现

1.    为什么要服务注册

2.    服务注册实现方式

3.    使用NetflixEureka/SpringCloud实现服务注册

4.    使用NetflixRibbon/SpringCloud实现客户端负载均衡

5.    为什么要服务发现

6.    服务发现的实现方式

7.    使用Spring和Netflix Eureka进行服务发现实战

 

内容二:微服务负载均衡和路由-Robbin

1.    负载均衡

2.    容错

3.    服务路由

4.    微服务间的异步通信机制

5.    Spring Clould   的Ribbon实现

 

内容三:分布式微服务统一配置中心

1.    管理配置(和复杂性)

2.    配置管理架构

3.    构建Spring   Cloud配置服务器

4.    将Spring   Cloud Config与Spring Boot客户端集成

5.    分布式配置中心——携程Apollo

6.    携程apollo优点

7.    apollo架构

8.    Apollo分布式配置中心部署

9.    Apollo分布式配置中心最佳实践

 

 


第3单元--微服务网关和过载保护

内容一:微服务网关—Zuul

1.    使用Spring   Cloud和Zuul进行服务路由

2.    什么是服务网关

3.    Spring   Cloud和Netflix Zuul简介

4.    在Zuul中配置路由

5.    动态重新加载路由配置

6.    构建第 一个生成关联ID的Zuul前置过滤器

7.    构建动态路由过滤器 

8.    Zuul网关最佳实践

 

内容二:微服务断路器—Hystrix

1.    什么是客户端弹性模式 

2.    客户端负载均衡模式 

3.    断路器模式 

4.    后备模式 

5.    舱壁模式 

6.    使用Hystrix实现断路器 

7.    对组织微服务的调用超时

8.    定制断路器的超时时间

9.    线程上下文和Hystrix 

10. Hystrix最佳实践

 

 



返回上一级