引入依赖
注意是用户模块引入依赖。。。
<?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>cloud-mall-practice</artifactId>
<groupId>com.imooc</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>cloud-mall-user</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
相关依赖引入原因请查看各个模块需要完成的功能:SpringCloud模块如何拆分
开发前准备
查看我们电商项目的用户模块:SpringBoot电商项目用户模块介绍
请务必先通读一遍用户模块开发。
将UserController层直接复制过来,可以看到很多爆红错误.
说明:
API统一抛出信息及枚举错误:SpringBoot电商项目用户模块API统一返回对象
常量存放及一些加密工具类 : SpringBoot电商项目用户模块使用MD5对密码进行保护
这里寻找模块的有关注意须知操作可以查看SpringCloud之商品分类与商品模块初始化
新建cloud-mall-common模块
说明: 这些代码直接复制过来即可,先不用管报错信息,后面会进行修改
解决报错信息
打开cloud-mall-common模块
报错信息可以发现,一般都是包的位置有问题,需要进行修改即可,先解决每个模块内的问题,再解决模块间的问题!!!
说明: 如何快速更改包的位置?
第一步: 删除报错的包位置:
第二步: 在报错的类上使用ALT+ENTER上快速重新引入:
以后修改包位置解决错误优先使用此方法,注意:此方法适用于包在同一个模块下,而不是调用其它模块下的包。
至于模块间的调用重构,会在下面进行讲解。