demo构思
个人打算完成一个项目架构:具体使用 spring boot + cloud + nacos + mybatis-plus + mysql。现处于摸索阶段。从零开始搭建学习。目前已完成网关统一代理,服务注册。暂时不打算用 nacos 做配置中心,直接使用本地配置。
项目构建
父工程
父工程不用写代码,所以删掉 src 那些文件。具体 pomx.ml 文件如下配置:
spring boot 引用
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
<relativePath/>
</parent>
各依赖版本配置信息,也可以直接写在对应依赖中,这么做是为了方便版本统一管理,实际上应该新建一个 dependencies 模块做通用的依赖管理。
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UFT-8</project.reporting.outputEncoding>
<spring-cloud.version>Hoxton.SR3</spring-cloud.version>
<spring-cloud-alibaba.version>2.2.1.RELEASE</spring-cloud-alibaba.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
通用工具类 commons
暂时只写了一个全局响应的统一处理,其他的通用工具类待完善。
新建 modules
工具类不需要作为去写其他业务代码。提供功能给其他模块去使用。
这里表示了 commons 模块引用的父工程是第一层。
<packaging>pom</packaging>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.11.2</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
</dependency>
</dependencies>
全局返回对象
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import java.io.Serializable;
/**
* @Author: WIN11
* @Date: 2022/2/25
* @Time: 10:05
* @Version: 1.0
* @Description:
*/
@Data
public