😀前言
本篇博文是关于Spring Cloud--从零开始搭建微服务基础环境【四】,希望你能够喜欢
🏠个人主页:晨犀主页
🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉
💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦😊
文章目录
- 微服务基础环境搭建【四】
-
- 创建共用模块-供其它模块使用
-
- 需求说明/图解
- 思路分析/图解
- 实现步骤
-
- [创建Moduel & 完成配置](#创建Moduel & 完成配置)
-
- 创建e_commerce_center-common-api
- [修改e_commerce_center-common-api 的pom.xml](#修改e_commerce_center-common-api 的pom.xml)
- 抽取共用API/类
- [使用Maven 打包成jar](#使用Maven 打包成jar)
- 工程重构
-
- [在member-service-consumer-80 引入e_commerce_center-common-api-1.0-SNAPSHOT.jar](#在member-service-consumer-80 引入e_commerce_center-common-api-1.0-SNAPSHOT.jar)
- [在member-service-provider-10000 引入e_commerce_center-common-api-1.0-SNAPSHOT.jar](#在member-service-provider-10000 引入e_commerce_center-common-api-1.0-SNAPSHOT.jar)
- 完成测试
微服务基础环境搭建【四】
创建共用模块-供其它模块使用
需求说明/图解
思路分析/图解
1、创建Moduel & 完成配置
2、创建entity, 把共用的实体类放到对应的包下
3、完成测试
实现步骤
创建Moduel & 完成配置
创建e_commerce_center-common-api
由于创建模块步骤一致,这里不做描述。
父工程的pom.xml-会做相应变化,管理e_commerce_center-common-api子模块。
修改e_commerce_center-common-api 的pom.xml
xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>e-commerce-center</artifactId>
<groupId>com.my.springcloud</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>e_commerce_center-common-api</artifactId>
<!--引入公共模块需要的依赖-->
<dependencies>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<!--
解读<optional>true</optional>:
1. true表示两个项目之间依赖不传递
2. 小伙伴可以这里理解<optional>true</optional>: 防止将该依赖传递到其他模块中
说的再具体一点,比如member-service-consumer-80模块依赖了本项目,
那么本项目不会把lombok 传递给 member-service-consumer-80
3. 不设置optional或者optional是false,表示传递依赖
-->
<optional>true</optional>
</dependency>
</dependencies>
</project>
抽取共用API/类
entity【从前面的工程拷贝即可】
创建com/my/springcloud/entity/Member.java
java
@AllArgsConstructor
@NoArgsConstructor
@Data
//Serializable 加上,后面可能使用
public class Member implements Serializable {
private Long id;
private String name;
private String pwd;
private String mobile;
private String email;
private Integer gender;
}
创建com/my/springcloud/entity/Result.java
java
/**
* 1. 用于返回结果, 利于json 格式
* 2. 这个工具类, 在网上也可找到
*/
public class Result<T> {
private String code;
private String msg;
private T data;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
public Result() {
}
public Result(T data) {
this.data = data;
}
public static Result success() {
Result result = new Result<>();
result.setCode("200");
result.setMsg("success");
return result;
}
public static <T> Result<T> success(T data) {
Result<T> result = new Result<>(data);
result.setCode("200");
result.setMsg("success");
return result;
}
public static <T> Result<T> success(String msg, T data) {
Result<T> result = new Result<>(data);
result.setCode("200");
result.setMsg(msg);
return result;
}
public static Result error(String code, String msg) {
Result result = new Result();
result.setCode(code);
result.setMsg(msg);
return result;
}
public static <T> Result<T> error(String code, String msg, T data) {
Result<T> result = new Result<>(data);
result.setCode(code);
result.setMsg(msg);
return result;
}
}
使用Maven 打包成jar
1、操作步骤
2、可以解压e_commerce...jar 可以看到打包后的.class 文件
工程重构
在member-service-consumer-80 引入e_commerce_center-common-api-1.0-SNAPSHOT.jar
- 删除原来的entity 包
- 修改pom.xml
xml
<!-- 引入e_commerce_center-common-api -->
<dependency>
<groupId>com.my.springcloud</groupId>
<artifactId>e_commerce_center-common-api</artifactId>
<version>${project.version}</version>
</dependency>
在member-service-provider-10000 引入e_commerce_center-common-api-1.0-SNAPSHOT.jar
- 删除原来的entity 包
- 修改pom.xml
xml
<!-- 引入e_commerce_center-common-api -->
<dependency>
<groupId>com.my.springcloud</groupId>
<artifactId>e_commerce_center-common-api</artifactId>
<version>${project.version}</version>
</dependency>
完成测试
首先启动微服务模块: member-service-provider-10000 和member-service-consumer-80
浏览器输入: http://localhost/member/consumer/get/1
文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁
希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞