SpringCloud(第四章 服务架构编码构建)

ps:项目搭建步骤: 约定 > 配置 > 编码

一、IDEA新建project工作空间

1. 微服务cloud整体聚合父工程步骤如下:

1.new project
2.聚合总父工程名字
3.maven选版本
4.工程名字
5.字符编码
6.注解生效激活
7.java编译版本选8
8.File Type过滤

2.Maven中的dependencyManagement和Dependencies区别:

example:
在这里插入图片描述
这样做的好处就是:如果有多个子项目都引用同一样依赖,则可以避免在每个使用的子项目里都声明一个版本号,这样当想升级或切换到另一个版本时,只需要在顶层父容器里更新,而不需要一个一个子项目的修改 ;另外如果某个子项目需要另外的一个版本,只需要声明version就可。

1.maven使用dependencyManagement元素来提供了一种管理依赖版本号的方式。
2.通常会在一个组织或者项目的最顶层的父POM中看到dependencyManagement元素。
3.使用pom.xml中的dependencyManagement元素能让所有在子项目中引用一个依赖而不用显式的列出版本号。
4.Maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它就会使用这个dependencyManagement元素中指定的版本号。
5.dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。
6.如果不在项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;
如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。

3.maven跳过单元测试

  1. 配置
<build><!-- maven中跳过单元测试 -->
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <skip>true</skip>
            </configuration>
        </plugin>
    </plugins>
</build>

2.IDEA工具支持(推荐)
在这里插入图片描述
4.父工程创建完成执行mvn:install将父工程发布到仓库方便子工程继承

二、Rest微服务工程构建
订单模块图
在这里插入图片描述
1.微服务模块构建步骤

1.建module
2.改pom
3.写yml
4.主启动
5.业务类

2.热部署Devtools(ps:适用于开发阶段,生产环境必须关闭)
1.Add devtools to your project(在子模块引入以下依赖)

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <scope>runtime</scope>
    <optional>true</optional>
</dependency>

2.Adding plugin to your pom.xml(在父pom.xml中加入以下依赖)

 
下段配置我们粘贴进聚合父类总工程的pom.xml里
 
<build>
    <finalName>你自己的工程名字</finalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
                <addResources>true</addResources>
            </configuration>
        </plugin>
    </plugins>
</build>

3.Enabling automatic bulid(修改idea配置将以下四项全部打上勾)
在这里插入图片描述
4.update the value of
在这里插入图片描述
在这里插入图片描述
5.重启IDEA

三、工程重构
ps:对于小模块服务之间共同的实体类或者工具类可以单独写成一个服务,并对其进行部署,其他服务可以调用实现避免其代码冗余。

比如:此例中的实体类(具体可查看cloud脑图)

四、总结:(详细步骤见项目中脑图)
ps:对于一个服务远程调用另外一个服务可以采用本例中的RestTemplate类。

RestTemplate提供了多种便捷访问远程Http服务的方法, 是一种简单便捷的访问restful服务模板类,是Spring提供的用于访问Rest服务的客户端模板工具集。

ps:尚硅谷SpringCloud学习笔记

SpringCloud(第一章 零基础理论入门)
SpringCloud(第二章 从2.2.x和H版开始说起)
SpringCloud(第三章 关于Cloud各种组件的停更/升级/替换)
SpringCloud(第四章 服务架构编码构建)
SpringCloud(第五章 Eureka服务注册与发现)
SpringCloud(第六章 Zookeeper服务注册与发现)
SpringCloud(第七章 Consul服务注册与发现)
SpringCloud(第八章 Ribbon负载均衡服务调用)
SpringCloud(第九章 OpenFeign服务接口调用)
SpringCloud(第十章 Hystrix断路器)
SpringCloud(第十一章 Gateway新一代网关)
SpringCloud(第十二章 SpringCloud Config 分布式配置中心)
SpringCloud(第十三章 SpringCloud Bus 消息总线)
SpringCloud(第十四章 SpringCloud Stream 消息驱动)
SpringCloud(第十五章 SpringCloud Sleuth 分布式请求链路跟踪)
SpringCloud(第十六章 SpringCloud Alibaba 入门简介)
SpringCloud(第十七章 SpringCloud Alibaba Nacos服务注册和配置中心)
SpringCloud(第十八章 SpringCloud Alibaba Sentinel实现熔断与限流)
SpringCloud(第十九章 SpringCloud Alibaba Seata处理分布式事务)
SpringCloud(第二十章 SpringCloud之雪花算法)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值