一 、第一部分
是什么
能干什么
去哪里下
怎么使用了解一个新技术的步骤
版本设置
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的操作流程
-
建立model
-
修改pom.xml文件
-
配置yml文件
-
建立数据库与设置实体类以及返回给前端的通用配置类
-
设置主启动类
-
编写业务需求
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基础的分布式基础配置