【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境

零基础微服务架构理论入门介绍

一个基于分布式的服务架构应该含有的架构内容如下:

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第1张图片

1.1SpringCloud是什么

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第2张图片

1.2基于微服务的系统

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第3张图片

1.3服务与之对用的技术

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第4张图片

1.4课程目录

第一章_SpringBoot和SpringCloud版本选择

详细可见SpringCloud2020.mmap文件

1.概述

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第5张图片

2.SpringBoot版本选择

  • git源码地址:https://github.com/spring-projects/spring-boot/releases/

  • SpringBoot2.0新特性:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Release-Notes

    通过上面官网发现,Boot官方强烈建议你升级到2.X以上版本

3.SpringCloud版本选择

  • git源码地址:https://github.com/spring-projects/spring-cloud
  • 官网:https://spring.io/projects/spring-cloud
  • Cloud版本命名规则:A-Z(目前2023年9月4日,官网更新至)

4.SpringBoot和SpringCloud之间的版本对应关系

4.1初略的版本对应关系

  • 链接:https://spring.io/projects/spring-cloud#overview

  • 结果:SpringCloud版本至少为G

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第6张图片

4.2更详细的版本对应关系

  • 链接:https://start.spring.io/actuator/info

  • 视频查的结果:

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第7张图片

今日查的结果:

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第8张图片

5.SpringCloud学习中各种技术版本

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第9张图片

  • 根据SpringCloud版本选择SpringBoot版本

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第10张图片

6.SpringBoot中2.X版本常用的pom

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第11张图片

第二章_关于Cloud组件的升级

其中sentienl为阿里巴巴开发的服务熔断技术

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第12张图片

1.参考资料

  • SpringCloud的Hoxton SR1版本文档

https://cloud.spring.io/spring-cloud-static/Hoxton.SR1/reference/htmlsingle/

  • SpringCloud的中文文档

https://www.bookstack.cn/read/spring-cloud-docs/docs-index.md

第三章_新建工程

1.父工程project空间新建

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第13张图片

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第14张图片

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第15张图片

  • maven版本以及工作环境

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第16张图片

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第17张图片

  • 允许注解生效

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第18张图片

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第19张图片

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第20张图片

2.父工程pom文件




  4.0.0

  com.peng.springcloud
  cloud2020
  1.0-SNAPSHOT
  
  pom


  
  
    UTF-8
    1.8
    1.8
    4.12
    1.2.17
    1.16.18
    5.1.47
    1.1.16
    1.3.0
  


  
  
    

      
      
        org.springframework.boot
        spring-boot-dependencies
        2.2.2.RELEASE
        pom
        import
      
      
      
        org.springframework.cloud
        spring-cloud-dependencies
        Hoxton.SR1
        pom
        import
      

      
      
        com.alibaba.cloud
        spring-cloud-alibaba-dependencies
        2.1.0.RELEASE
        pom
        import
      
      
      
        mysql
        mysql-connector-java
        ${mysql.version}
        runtime
      
      
      
        com.alibaba
        druid
        ${druid.version}
      

      
      
        org.mybatis.spring.boot
        mybatis-spring-boot-starter
        ${mybatis.spring.boot.version}
      
      
      
        junit
        junit
        ${junit.version}
      
      
      
        log4j
        log4j
        ${log4j.version}
      
    

  

3.DependencyManagement和Dependencies的区别

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第21张图片

  • 演示:

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第22张图片

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第23张图片

image-20230905095305688

4.支付模块构建

前说:由订单模块启动支付模块

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第24张图片

4.1套路

  • 建module
  • 改POM
  • 写YML
  • 主启动
  • 业务类

4.2过程

(1)建module:cloud-provider-payment8001

直接new Module即可

(2)改POM
  • 补充maven爆红解决方法

    【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第25张图片



    
        cloud2020
        com.peng.springcloud
        1.0-SNAPSHOT
    
    4.0.0

    cloud-provider-payment8001-2

    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-actuator
        

        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
        

        
            com.alibaba
            druid-spring-boot-starter
            1.1.10
        

        
        
            mysql
            mysql-connector-java
        

        
        
            org.springframework.boot
            spring-boot-starter-jdbc
        

        
            org.springframework.boot
            spring-boot-devtools
            runtime
            true
        

        
            org.projectlombok
            lombok
            true
        

        
            org.springframework.boot
            spring-boot-starter-test
        

        
    


(3)写YML


    
        cloud2020
        com.peng.springcloud
        1.0-SNAPSHOT
    
    4.0.0

    cloud-provider-payment8001-2

    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-actuator
        

        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
        

        
            com.alibaba
            druid-spring-boot-starter
            1.1.10
        

        
        
            mysql
            mysql-connector-java
        

        
        
            org.springframework.boot
            spring-boot-starter-jdbc
        

        
            org.springframework.boot
            spring-boot-devtools
            runtime
            true
        

        
            org.projectlombok
            lombok
            true
        

        
            org.springframework.boot
            spring-boot-starter-test
        


    


(4)主启动

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第26张图片

(5)业务类
①建表
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=utf8
②entites实体类
  • payment类

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第27张图片

  • 返回的json字符串

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第28张图片

③dao层
  • 接口PaymentDao

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第29张图片

  • mybaits的映射文件PaymentMapper.xml

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第30张图片

④service层

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第31张图片

⑤controller层

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第32张图片

4.3.开启热部署

(1)引入jar包-子工程
  		
	org.springframework.boot
    spring-boot-devtools
    runtime
    true

(2)添加插件-父工程

    
      
        org.springframework.boot
        spring-boot-maven-plugin
        
          true
          true
        
      
    

(3)设置

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第33张图片

(4)开启

快捷键:ctrl+shift+alt+/,选中第一个registry

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第34张图片

(5)重启

5.消费模块构建

建module,改pom,改yml,主启动,业务类

5.1使用restTemplate实现服务间的调用

(1)创建restTemplate对象并注入到容器中

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第35张图片

(2)Controller层

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第36张图片

(3)注意要添加支付模块的创建订单的@RequestBody注解

@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);

因为订单模块返回给支付模块的数据,即payment数据为json格式数据

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第37张图片

(4)补充:关闭占用80端口的进程方法

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第38张图片

5.2工程重构(提取公共类)

  • 新建工程、改pom、提取公共类、maven命令(clean、install)、订单80和支付8081分别改造
(1)新建并改pom

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第39张图片

(2)打包并子工程引入

【Springcloud篇】学习笔记一(一至三章):微服务介绍、构建环境_第40张图片

你可能感兴趣的:(Springcloud,spring,cloud,学习,笔记)