前言
本篇基于maven来构建微服务项目的基本项目架构
通过maven的父子项目的结构,可以让我们更方便、统一的管理这些项目。
创建父项目
使用idea快速创建SpringBoot父工程 cloud_demo,创建成功后保留pom.xml即可
打包方式packaging选择pom
<packaging>pom</packaging>
添加对SpringCloud、及SpringCloud-alibaba主版本的配置
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.RELEASE</spring-cloud.version>
<spring-cloud-alibaba.version>0.9.0.RELEASE</spring-cloud-alibaba.version>
<lombok.version>1.16.20</lombok.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- spring-cloud主版本管理 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- spring-cloud-alibaba主版本管理 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
</dependencies>
Spring Cloud Alibaba是Spring Cloud的子项目,基于Spring CloudCommon的规范实现,
是阿里巴巴结合自身微服务实践,开源的微服务全家桶,在业界广泛使用,已有很多成功案例。
由于Spring Cloud基于Spring Boot构建,而Spring Cloud Alibaba又基于Spring CloudCommon的规范实现,
所以当我们使用Spring Cloud Alibaba来构建微服务应用的时候,需要知道这三者之间的版本关系。
官方文档
创建子项目
现在我们创建一个最常见的用户微服务项目,为了更清晰的划分具体微服务功能结构,
将业务子项目划分三个更细化的子项目
- 提供主体业务实现的微服务mingx-user
- 提供pojo类的微服务mingx-user-pojo
- 提供微服务之间调用的微服务mingx-user-client
创建cloud-user 模块,修改pom.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>cloud_demo</artifactId>
<groupId>com.lyc</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>cloud-user</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
</dependencies>
</project>
创建UserController.java类,用于测试:
@RestController
@RequestMapping("/user")
public class UserController {
@GetMapping("/helloUser")
public String helloUser() {
return "hello User " ;
}
}
在main/src/resourse目录下,创建项目配置文件bootstrap.yml,内容如下:
spring:
application:
name: cloud-user # 项目名称
server:
port: 9001 # 启动端口
启动cloud-user项目,在浏览器中访问:http://127.0.0.1:9001/user/helloUser;
如果可以正常响应如下内容,说明已经成功;
hello User
Tip:
- 本章只做了Maven父子工程的搭建,未涉及到SpringClould微服务相关内容,下一篇将介绍nacos注册和配置中心。