Spring Cloud 学习笔记

81 阅读9分钟

Spring Cloud 学习笔记(2 / 3)

Spring Cloud 学习笔记(3 / 3)


01_前言闲聊和课程说明 02_零基础微服务架构理论入门 03_第二季Boot和Cloud版本选型 04_Cloud组件停更说明 05_父工程Project空间新建 06_父工程pom文件 07_复习DependencyManagement和Dependencies 08_支付模块构建(上) 09_支付模块构建(中) 10_支付模块构建(下) 11_热部署Devtools 12_消费者订单模块(上) 13_消费者订单模块(下) 14_工程重构 15_Eureka基础知识 16_EurekaServer服务端安装 17_支付微服务8001入驻进EurekaServer 18_订单微服务80入驻进EurekaServer 19_Eureka集群原理说明 20_Eureka集群环境构建 21_订单支付两微服务注册进Eureka集群 22_支付微服务集群配置 23_actuator微服务信息完善 24_服务发现Discovery 25_Eureka自我保护理论知识 26_怎么禁止自我保护 27_Eureka停更说明 28_支付服务注册进zookeeper 29_临时还是持久节点 30_订单服务注册进zookeeper 31_Consul简介 32_安装并运行Consul 33_服务提供者注册进Consul 34_服务消费者注册进Consul 35_三个注册中心异同点 36_Ribbon入门介绍 37_Ribbon的负载均衡和Rest调用 38_Ribbon默认自带的负载规则 39_Ribbon负载规则替换 40_Ribbon默认负载轮询算法原理 41_RoundRobinRule源码分析 42_Ribbon之手写轮询算法 43_OpenFeign是什么 44_OpenFeign服务调用 45_OpenFeign超时控制 46_OpenFeign日志增强 47_Hystrix是什么 48_Hystrix停更进维 49_Hystrix的服务降级熔断限流概念初讲 50_Hystrix支付微服务构建 51_JMeter高并发压测后卡顿 52_订单微服务调用支付服务出现卡顿 53_降级容错解决的维度要求 54_Hystrix之服务降级支付侧fallback 55_Hystrix之服务降级订单侧fallback - - 01_前言闲聊和课程说明 教学视频

源码文件1、源码文件2

02_零基础微服务架构理论入门 什么是微服务

In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.——James Lewis and Martin Fowler (2014)

微服务是一种架构风格 一个应用拆分为一组小型服务 每个服务运行在自己的进程内,也就是可独立部署和升级 服务之间使用轻量级HTTP交互 服务围绕业务功能拆分 可以由全自动部署机制独立部署 去中心化,服务自治。服务可以使用不同的语言、不同的存储技术 主题词01:现代数字化生活-落地维度

手机 PC 智能家居 … 主题词02:分布式微服务架构-落地维度

满足哪些维度?支撑起这些维度的具体技术?

服务调用 服务降级 服务注册与发先 服务熔断 负载均衡 服务消息队列 服务网关 配置中心管理 自动化构建部署 服务监控 全链路追踪 服务定时任务 调度操作 Spring Cloud简介

是什么?符合微服务技术维度

SpringCloud=分布式微服务架构的站式解决方案,是多种微服务架构落地技术的集合体,俗称微服务全家桶

猜猜SpringCloud这个大集合里有多少种技术?

SpringCloud俨然已成为微服务开发的主流技术栈,在国内开发者社区非常火爆。

“微”力十足,互联网大厂微服务架构案例

京东的:

阿里的:

京东物流的:

Spring Cloud技术栈

总结

03_第二季Boot和Cloud版本选型 Spring Boot 2.X 版

源码地址 Spring Boot 2 的新特性 通过上面官网发现,Boot官方强烈建议你升级到2.X以上版本 Spring Cloud H版

源码地址 官网 Spring Boot 与 Spring Cloud 兼容性查看

文档 JSON接口 接下来开发用到的组件版本

Cloud - Hoxton.SR1 Boot - 2.2.2.RELEASE Cloud Alibaba - 2.1.0.RELEASE Java - Java 8 Maven - 3.5及以上 MySQL - 5.7及以上 04_Cloud组件停更说明 停更引发的“升级惨案”

停更不停用 被动修复bugs 不再接受合并请求 不再发布新版本 Cloud升级

服务注册中心

× Eureka √ Zookeeper √ Consul √ Nacos 服务调用

√ Ribbon √ LoadBalancer 服务调用2

× Feign √ OpenFeign 服务降级

× Hystrix √ resilience4j √ sentienl 服务网关

× Zuul ! Zuul2 √ gateway 服务配置

× Config √ Nacos 服务总线

× Bus √ Nacos Spring Cloud官方文档

Spring Cloud中文文档

Spring Boot官方文档

05_父工程Project空间新建 约定 > 配置 > 编码

创建微服务cloud整体聚合父工程Project,有8个关键步骤:

New Project - maven工程 - create from archetype: maven-archetype-site

tags.news.sina.com.cn/%E6%B2%88%E… tags.news.sina.com.cn/%E6%B2%88%E… tags.news.sina.com.cn/%E6%B2%88%E… tags.news.sina.com.cn/%E6%B2%88%E… tags.news.sina.com.cn/%E6%B2%88%E… tags.news.sina.com.cn/%E6%B2%88%E… tags.news.sina.com.cn/%E6%B2%88%E… tags.news.sina.com.cn/%E6%B2%88%E… tags.news.sina.com.cn/%E6%B2%88%E… tags.news.sina.com.cn/%E6%B2%88%E… tags.news.sina.com.cn/%E6%B2%88%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E8%A5%BF%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E6%88%90%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E9%95%BF%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E7%A6%8F%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E9%83%91%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… tags.news.sina.com.cn/%E7%9F%B3%E… 聚合总父工程名字 Maven选版本 工程名字 字符编码 - Settings - File encoding 注解生效激活 - Settings - Annotation Processors Java编译版本选8 File Type过滤 - Settings - File Type archetype 英 [ˈɑːkitaɪp] 美 [ˈɑːrkitaɪp] n. 典型

site 英 [saɪt] 美 [saɪt] n. (建筑物、城镇等的)地点,位置,建筑工地;现场;发生地;场所;网站;站点 v. 使坐落在;为…选址

06_父工程pom文件

4.0.0

<groupId>com.lun</groupId>
<artifactId>LearnCloud</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging><!-- 这里添加,注意不是jar或war -->

<!-- 统一管理jar包版本 -->
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <junit.version>4.12</junit.version>
    <log4j.version>1.2.17</log4j.version>
    <lombok.version>1.16.18</lombok.version>
    <mysql.version>5.1.47</mysql.version>
    <druid.version>1.1.16</druid.version>
    <mybatis.spring.boot.version>1.3.0</mybatis.spring.boot.version>
</properties>

<!-- 子模块继承之后,提供作用:
	锁定版本+子modlue不用写groupId和version -->
<dependencyManagement>
    <dependencies>
        <!--spring boot 2.2.2-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>2.2.2.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <!--spring cloud Hoxton.SR1-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Hoxton.SR1</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <!--spring cloud alibaba 2.1.0.RELEASE-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>2.1.0.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.version}</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>${druid.version}</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>${mybatis.spring.boot.version}</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>${log4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
            <optional>true</optional>
        </dependency>
    </dependencies>
</dependencyManagement>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
                <addResources>true</addResources>
            </configuration>
        </plugin>
    </plugins>
</build>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 07_复习DependencyManagement和Dependencies Maven使用dependencyManagement元素来提供了一种管理依赖版本号的方式。

通常会在一个组织或者项目的最顶层的父POM中看到dependencyManagement元素。

使用pom.xml中的dependencyManagement元素能让所有在子项目中引用个依赖而不用显式的列出版本量。

Maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它就会使用这个 dependencyManagement元素中指定的版本号。

mysq1 mysql-connector-java 5.1.2 1 2 3 4 5 6 7 8 9 然后在子项目里就可以添加mysql-connector时可以不指定版本号,例如: mysq1 mysql-connector-java 1 2 3 4 5 6 这样做的好处就是:如果有多个子项目都引用同一样依赖,则可以避免在每个使用的子项目里都声明一个版本号,这样当想升级或切换到另一个版本时,只需要在顶层父容器里更新,而不需要一个一个子项目的修改;另外如果某个子项目需要另外的一个版本,只需要声明version就可。

dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。 如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom。 如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。 IDEA右侧旁的Maven插件有Toggle ' Skip Tests' Mode按钮,这样maven可以跳过单元测试

父工程创建完成执行mvn : install将父工程发布到仓库方便子工程继承。

08_支付模块构建(上) 创建微服务模块套路:

建Module 改POM 写YML 主启动 业务类 客户端消费者80 order 微服务提供者8001 payment 创建cloud-provider-payment8001微服务提供者支付Module模块:

1.建名为cloud-provider-payment8001的Maven工程

2.改POM

LearnCloud com.lun 1.0.0-SNAPSHOT 4.0.0

<artifactId>cloud-provider-payment8001</artifactId>

<dependencies>
    <!--包含了sleuth+zipkin-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-zipkin</artifactId>
    </dependency>
    <!--eureka-client-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
        <!-- 引入自己定义的api通用包,可以使用Payment支付Entity -->
    <!--
    <dependency>
        <groupId>com.atguigu.springcloud</groupId>
        <artifactId>cloud-api-commons</artifactId>
        <version>${project.version}</version>
    </dependency>
    -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid-spring-boot-starter</artifactId>
        <version>1.1.10</version>
    </dependency>
    <!--mysql-connector-java-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <!--jdbc-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 3.写YML

server: port: 8001

spring: application: name: cloud-payment-service datasource: type: com.alibaba.druid.pool.DruidDataSource # 当前数据源操作类型 driver-class-name: org.gjt.mm.mysql.Driver # mysql驱动包 url: jdbc:mysql://localhost:3306/my?useUnicode=true&characterEncoding=utf-8&useSSL=false username: root password: 1234

mybatis: mapperLocations: classpath:mapper/*.xml type-aliases-package: com.lun.springcloud.entities # 所有Entity别名类所在包

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 4.主启动

import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication public class PaymentMain001 {

public static void main(String[] args) {
    SpringApplication.run(PaymentMain001.class, args);
}

} 1 2 3 4 5 6 7 8 9 10 09_支付模块构建(中) 5.业务类

SQL:

CREATE TABLE payment( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', serial varchar(200) DEFAULT '', PRIMARY KEY (id) )ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 1 2 3 4 5 Entities:

实体类Payment:

import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;

import java.io.Serializable;

@Data @AllArgsConstructor @NoArgsConstructor public class Payment implements Serializable { private Long id; private String serial; } 1 2 3 4 5 6 7 8 9 10 11 12 13 JSON封装体CommonResult:

import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;

@Data @AllArgsConstructor @NoArgsConstructor public class CommonResult{ private Integer code; private String message; private T data;

public CommonResult(Integer code, String message){
    this(code, message, null);
}

} 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 DAO:

接口PaymentDao: