探秘SpringCloud系列《第一篇章:创建Spring Cloud的Maven江湖》

简介: 探秘SpringCloud系列《第一篇章:创建Spring Cloud的Maven江湖》
欢迎来到SpringCloud的江湖,在本章中,我们将向大家传授如何创建SpringCloud的父子项目架构。
知识无止境,故事有好坏,文章纯属虚构,欢迎大家吐槽。
行走江湖,没点伎俩傍身怎么能行。本章牵扯到的技术以及工具如下:
Intellij Idea 2018.1
JDK 8
MAVEN 3.2.2
SpringBoot 1.5.13.RELEASE
Spring-Cloud Edgware.SR3

创建Maven顶级项目


什么?你不知道Maven是什么?你是我们江湖的常驻人口吗?赶紧点开下面这篇文章科普一下。

Maven基础理论知识整理

  1. 使用Idea,点击File->New->Project,选择Maven,点击Next。如下图所示:


20200108101747509.png


  • groupId: com.maple
  • artifactId: Spring-Cloud-Edgware
  • version: 1.0.0


然后一路向下,去大理~~~


创建好之后,我们把一些江湖中的小虾米去掉,保留住原始的清纯。我们需要删除整个src目录。

删除后如下图所示:


20200108101813706.png


这样一个最顶级的Maven项目就创建完成了。


创建Maven父级模块


  1. 温故而知新,然后我们在顶级的项目下面创建一个存放普通服务的父级项目

在Spring-Cloud-Edgware项目上右击,New->Module,选择Maven,点击Next。

  • artifactId: cloud-service


然后填写对应的信息,创建完成后删除src目录。这样一个父级的模块项目创建完成。如下图所示:


20200108101841143.png


在顶级项目中的pom.xml中会增加一个Models的节点,证明cloud-service是Spring-Cloud-Edgware的一个模块

<modules>
    <module>cloud-service</module>
</modules>


添加Maven依赖

  1. 这样一个父子Maven项目就基本成型了。接下来,我们引入SpringBoot和SpringCloud的需要的一些依赖。

修改Spring-Cloud-Edgware的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">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.maple</groupId>
    <artifactId>Spring-Cloud-Edgware</artifactId>
    <packaging>pom</packaging>
    <version>1.0.0</version>
    <modules>
        <module>cloud-service</module>
    </modules>
    <!-- 引入SpringBoot依赖版本号 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.13.RELEASE</version>
    </parent>
    <dependencies>
        <!-- 引入SpringBoot启动依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <!-- 引入Web项目依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- 引入SpringBoot测试类依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <!--引入SpringCloud框架的依赖-->
    <dependencyManagement>
        <dependencies>
            <!-- 引入SpringCloud依赖的版本号-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Edgware.SR3</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>


引入过程中Maven需要从仓库中拉取依赖,故需要等待一些时候

创建一个简单的user服务

  1. 接下来创建一个简单的user-service服务。

在cloud-service项目上右击,New->Module,选择Spring Initializr,点击Next。


20200108101906944.png

注意服务存放的目录


20200108101922857.png


修改user-service的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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.maple</groupId>
        <artifactId>cloud-service</artifactId>
        <version>1.0.0</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <artifactId>user-service</artifactId>
    <name>user-service</name>
    <description>User service.</description>
    <packaging>jar</packaging>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

在cloud-service的pom.xml中添加Modules,如下:

<?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>Spring-Cloud-Edgware</artifactId>
        <groupId>com.maple</groupId>
        <version>1.0.0</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>cloud-service</artifactId>
    <modules>
        <module>user-service</module>
    </modules>
</project>


  1. 这样user-service的服务就创建完成了。下面我们验证一下user-service服务。

修改UserServiceApplication.java文件:

@RestController
@SpringBootApplication
public class UserServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(UserServiceApplication.class, args);
        System.out.println("项目启动成功了...");
    }
    @GetMapping("/test")
    public String test(){
        return "欢迎进入到SpringCloud江湖!";
    }
}


启动项目后,在浏览器访问:http://127.0.0.1:8080/test


20200108101947261.png


本文到此结束了,后续文章会陆续更新,文档会同步在CSDN和GitHub保持同步更新。


CSDN:https://blog.csdn.net/qq_34988304/category_8820134.html


Github文档:https://github.com/hack-feng/Java-Notes/tree/master/src/note/SpringCloud


GitHub源码:https://github.com/hack-feng/Spring-Cloud-Edgware.git


目录
相关文章
|
2天前
|
监控 Java Sentinel
Spring Cloud Sentinel:概念与实战应用
【4月更文挑战第28天】在分布式微服务架构中,确保系统的稳定性和可靠性至关重要。Spring Cloud Sentinel 为微服务提供流量控制、熔断降级和系统负载保护,有效预防服务雪崩。本篇博客深入探讨 Spring Cloud Sentinel 的核心概念,并通过实际案例展示其在项目中的应用。
10 0
|
5天前
|
Java 数据安全/隐私保护 Sentinel
微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流
微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流
|
6天前
|
Java API Nacos
第十二章 Spring Cloud Alibaba Sentinel
第十二章 Spring Cloud Alibaba Sentinel
16 0
|
6天前
|
监控 Java 微服务
第八章 Spring Cloud 之 Hystrix
第八章 Spring Cloud 之 Hystrix
|
6天前
|
监控 Java API
第七章 Spring Cloud 之 GateWay
第七章 Spring Cloud 之 GateWay
11 0
|
6天前
|
负载均衡 前端开发 Java
第六章 Spring Cloud 之 OpenFeign
第六章 Spring Cloud 之 OpenFeign
|
6天前
|
负载均衡 算法 Java
第五章 Spring Cloud Netflix 之 Ribbon
第五章 Spring Cloud Netflix 之 Ribbon
12 0
|
6天前
|
消息中间件 Java Nacos
第三章 Spring Cloud简介
第三章 Spring Cloud简介
13 0
|
6天前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
|
6天前
|
Dubbo Java 应用服务中间件
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架