SpringCloud基础环境搭建

一 、第一部分

是什么

能干什么

去哪里下

怎么使用了解一个新技术的步骤

版本设置

SpringBoot2.x与SpringCloudH版本

https://start.spring.io/actuator/info查看具体版本的对应情况
在这里插入图片描述

SpringCloudAlibaba

设置的版本

<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>
    <mysql.version>5.1.47</mysql.version>
    <druid.version>1.1.12</druid.version>
    <mybatis.spring.boot.version>2.1.2</mybatis.spring.boot.version>
    <junit.version>4.10</junit.version>
    <log4j.version>1.2.17</log4j.version>
    <lombok.version>1.18.6</lombok.version>
  </properties>
  <!-- 子模块继承之后,提供作用:锁定版本+子modlue不用写groupId和version  -->
  <dependencyManagement>
    <dependencies>
      <!--SpringBoor2.3.0-->
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>2.3.0.RELEASE</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!-- SpringCloud Hoxton.SR1 -->
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>Hoxton.SR1</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!--SpringCloud-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>
      <!--mysql-connection-->
      <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>${mysql.version}</version>
      </dependency>
      <!--druid-->
      <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>${druid.version}</version>
      </dependency>
      <!--mybatis-spring-boot-->
      <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>${mybatis.spring.boot.version}</version>
      </dependency>
      <!--junit-->
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
      </dependency>
      <!--log4j-->
      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j.version}</version>
      </dependency>
      <!--lombok-->
      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

order是消费者,payment是消费者

cloud-provider-payment8001提供者

cloud-consumer-order80消费者

操作步骤:建model 改pom 写yml 主启动 业务类

一个model的操作流程

  1. 建立model

  2. 修改pom.xml文件

  3. 配置yml文件

  4. 建立数据库与设置实体类以及返回给前端的通用配置类

  5. 设置主启动类

  6. 编写业务需求

    5.1 mapper与mapper.xml

    5.2 service serviceimpl

    5.3 Controller

通用配置类 是专门用来负负责向前端响应数据的

@Data
@NoArgsConstructor
@AllArgsConstructor
public class CommonResult<T> {
    /**
     * code 404 200等
     * message 响应的信息
     * data 保存发送的数据
     */
    private Integer code;
    private String message;
    private T data;
    public CommonResult(Integer code,String message){
        this(code,message,null);
    }
}

RestTemplate提供了多种便捷的访问远程Http服务的方法

是一种简单便捷的访问restful服务的模板类是Spring提供的用于访问Rest服务

客户端模板工具集

通过使用restTemplate能够实现消费者对提供者的跨域请求

1、注册RestTemplate

@Configuration
public class ApplicaitonContextConfig {
    @Bean
    public RestTemplate getRestTemplate(){
        return new RestTemplate();
    }
}

进行发送跨域请求

但是生产者与消费者里面之间是存在冗余,都存在实体类,所以需要将公共部分进行抽离存放在一个单独的模块里面

在新建的model里面引入重复定义的实体类(最好路径一致),然后在其他的模块里面引入这个模块

完成简单的0基础的分布式基础配置


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值