SpringCloud如何搭建一个多模块项目

在spring cloud系列章节中,本来已经写了几个章节了,但是自己看起来有些东西写得比较杂,所以重构了一下springcloud的章节内容,新写了本章节,先教大家在工作中如何搭建一个多模块的springcloud项目。

本章及后面章节,我们使用的开发环境是 spring tool suite (sts) + maven (当然你也可以使用IDEA + Gradle,目前使用的公司也很多)。

一、新建一个父maven project模块

File->new->other->maven->maven project

记得勾选红框,我们仅仅只是需要该项目的pom.xml文件

如果生成后,有src文件,我们删除该文件,只保留pom.xml文件

修改pom.xml文件内容

<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>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.4.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>

  <groupId>com.haly</groupId>
  <artifactId>springcloud</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>springcloud</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
  </properties>

  <dependencies>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    </dependency>
  </dependencies>

  <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>
      </dependencies>
  </dependencyManagement>

 <build>
      <plugins>
          <plugin>
              <groupId>org.springframework.boot</groupId>
              <artifactId>spring-boot-maven-plugin</artifactId>
          </plugin>
      </plugins>
  </build>
</project>

注意: 很多同学在搭建项目的过程中,引入依赖时,pom文件总是报错,这一般是springboot和springcloud的版本不一致造成。

这个系列所有章节,我们使用的版本为 springboot :2.1.4.RELEASE springcloud:Greenwich.SR1

我们新建这个父工程后,发现它其实只有一个pom文件,没有什么业务功能,但是工作中我们都会新建一个这样的项目目录,它的作用如下

1. 工作中,我们整个项目的名称就是这个maven项目的名称,在svn中拉取项目下,只要拉这个主工程的分支就行了。

2.它的pom文件会定义为父pom,后续的module工程可以继承该pom,所以很多module工程共用的配置,都可以放到这里。

二、新建一个springcloud-eureka-server子模块

选择主项目springcloud,右键->Maven->new maven module project

生成项目目录结构如下:

注意:有些同学新建子项目完成后,项目的展示都是并排着,没有展示出父子关系,需要调整一个展示形式,才会出现上面的项目结构。

点击上图标红的地方 -> projects Presentation - > Hierarchical

如果生成的springcloud-eureka-server模块没有resources目录

springcloud-eureka-server上右键点击项目-> new->Source Folder

三、新建一个springcloud-eureka-client子模块

参考新建springcloud-eureka-server模块的步骤,新增一个springcloud-eureka-client模块

生成的项目结构如下:

这时,我们去父项目springcloud中打开pom.xml文件,会发现自动增加了新建子模块的引入

<modules>
<module>springcloud-eureka-server</module>
<module>springcloud-eureka-client</module>
</modules>

四、总结:

通过上面的步骤,我们已经搭建好了一个多模块的springcloud项目,但是这仅仅只是一个项目架构,如果需要运行起来,我们还需要做如下三步

1. 修改子模块的pom.xml文件,增加对应模块功能需要的依赖包

2. 在src/main/resources目录下,新增application.properties文件,配置项目的配置项

3. 在src/main/java目录的com.haly包下,新增对应模块的启动类

如何运行多模块springcloud项目,请看下一章节:一起来学Spring Cloud | 第二章:服务注册和发现组件 (Eureka)

到此这篇关于SpringCloud如何搭建一个多模块项目的文章就介绍到这了,更多相关SpringCloud 多模块项目内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • idea创建springboot项目和springcloud项目的详细教程

    一:创建springboot项目 1.选择File –> New –> Project –>Spring Initialer –> 点击Next 2.填写项目相关的信息,–>点击next 3.选择web –> web,–>点击next 4.填写项目名和项目位置,–>点击finish 5.会自动生成一个Application类,加上一个@RestController注解就可以写方法了 6.启动Application类中的main()方法,浏览器输入localh

  • IDEA 中 30 秒创建一个 Spring Cloud Alibaba 工程

    如果你想使用 Spring Cloud Alibaba,那么你遇到的第一个问题一定是如何快速的创建一个脚手架工程. 近日,阿里巴巴发布了 Spring 的国内脚手架定制版 Aliyun Java Initializer,因为全中文界面和流畅速度,被广大开发者热传.Spring 脚手架为开发者提供了丰富的可选组件,并且可以选择多种打包方式,大大方便了开发人员的使用.Web 端 Spring 脚手架可以帮助用户快速上手,但很多开发者也面临一个问题:在 Web 版本 Spring 脚手架生成工程最终要

  • SpringCloud如何创建一个服务提供者provider

    前几篇主要集中在注册中心eureka的使用上,接下来可以创建服务提供者provider来注册到eureka. demo源码见: https://github.com/Ryan-Miao/spring-cloud-Edgware-demo/tree/master/provider-demo 为了方便版本控制,接下来的项目都是基于https://github.com/Ryan-Miao/spring-cloud-Edgware-demo 这个parent配置的. 创建子moudle provider

  • 使用IntelliJ IDEA 2017.2.5 x64中的Spring Initializr插件快速创建Spring Boot/Cloud工程(图解)

    在我的上一篇文章中,选用了http://start.spring.io/创建工程. 接下来使用IntelliJ IDEA 2017.2.5 x64创建Spring Boot/Cloud工程 新安装的IntelliJ IDEA 2017.2.5 x64中没有Spring Initializr这个插件; 接下来安装Spring Initializr插件; 在settings -> Plugins 里面搜索spring boot,勾选上,然后再重启下idea,就可以了.如果Plugins里面没有spr

  • 创建网关项目(Spring Cloud Gateway)过程详解

    创建网关项目 加入网关后微服务的架构图 创建项目 POM文件 <properties> <java.version>1.8</java.version> <spring-cloud.version>Greenwich.SR3</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springfram

  • SpringCloud如何搭建一个多模块项目

    在spring cloud系列章节中,本来已经写了几个章节了,但是自己看起来有些东西写得比较杂,所以重构了一下springcloud的章节内容,新写了本章节,先教大家在工作中如何搭建一个多模块的springcloud项目. 本章及后面章节,我们使用的开发环境是 spring tool suite (sts) + maven (当然你也可以使用IDEA + Gradle,目前使用的公司也很多). 一.新建一个父maven project模块 File->new->other->maven-

  • 使用idea搭建一个spring mvc项目的图文教程

    最近在学习spring的相关知识,顺便记下笔记,与大家共享. spring运行流程如下图所示: [流程] user发送request,DispatcherServlet(等同于Controller控制器),控制器接收到请求,来到HandlerMapping(在配置文件中配置),HandlerMapping会对URL进行解析,并判断当前URL该交给哪个controller来处理,找到对应的controller之后,controller就跟server.Javabean进行交互,得到某一个值,并返回

  • angular学习之从零搭建一个angular4.0项目

    话说现在angular更新迭代太快了,从前几年用angular版本去搭建项目时还是1.x版本,到现在都已经是angular4.0了(直接跳过了3.0),由于公司要求用到angular4.0,所以就不能只是了解一下了,谁让我那么热爱学习了(咳咳!此处有一个推眼镜的动作),废话不多说,直接上手,首先用到的工具会有angular4.0.angular-cli.npm(v3.10.8).node(v6.2.0) 上述node和npm包管理器版本是我本机的版本号,这个版本不要太低应该都没问题 angula

  • 搭建一个Koa后端项目脚手架的方法步骤

    一.背景 结合当前的node比较火的三大框架,Express.Koa.egg.笔者之前用的Express,后面发现回调把我搞死了,实在太无奈了.终于有一天去尝试了Koa来进行开发,发现实在太舒服了.ES6语法支持很多,同步模式也很到位,但是在学习koa的过程中,发现基本的基础知识都了解了,也按照官方的文档走了一遍,但发现好像无从下手.感觉开发过程中,分层不太明显,业务逻辑简单还好,一多麻烦就来了.查看了资料后,有一个koa的脚手架叫做 koa-generator ,马上尝试后发现不是我想要的模板

  • Vue3+TS+Vite+NaiveUI搭建一个项目骨架实现

    目录 写在前面 创建Vue3项目 开发规范 Vite配置 别名配置 环境变量 .env文件 定义环境变量 在vite.config.ts中获取环境变量 自动导入 NaiveUI的安装 写在最后 写在前面 现在已经有很多项目团队使用Vue3+TS进行开发,同时也就意味着Vue3的生态越来越完善,如果还是停留在Vue2的阶段已经out了,这篇文章将会使用Vue3+TS+NaivaUI搭建一个简单的项目骨架. 创建Vue3项目 首先我们通过Vite来创建一个Vue3+TS的一个项目,打开终端,找到我们

  • Nginx+SpringCloud Gateway搭建项目访问环境

    目录 安装Nginx 准备SpringBoot应用 添加网关 现如今的项目开发基本都是微服务方式,导致一个系统中会有很多的服务,每个模块都对应着不同的端口,为了方便访问,通常会让某个服务绑定一个域名,比如商品服务:product.xxx.com:订单服务:order.xxx.com,此时可以使用Nginx来搭建一个域名访问环境,基于前后端分离开发的项目经常会遇到跨域问题,使用Nginx也能轻松解决. 安装Nginx 首先拉取nginx的镜像: docker pull nginx:1.10 然后随

  • 利用idea快速搭建一个spring-cloud(图文)

    package com.example.consumer; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; import org.springframework.cloud

  • 从零开始搭建一个react项目开发

    本文介绍了从零开始搭建一个react项目开发,分享给大家,具体如下: 1.npm init 生成 package.json 文件. 2.安装各种需要的依赖: npm install  --save react - 安装React. npm install  --save react-dom 安装React Dom,这个包是用来处理virtual DOM.这里提一下用React Native的话,这里就是安装react-native. npm install  --save-dev webpack

  • SpringBoot多模块项目框架搭建过程解析

    这篇文章主要介绍了SpringBoot多模块项目框架搭建过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 创建根项目,New Project 创建一个名为 sms-bomber 的 SpringBoot 新项目,打包为 JAR 的即可,这里只添加 Lombok 与 spring-boot-starter-web 依赖,这两个依赖会传递给所有子模块,删除创建完成的项目中的 .mvn\ src\ mvnw mvnw.cmd 创建启动模块,根目

  • 基于maven搭建一个ssm的web项目的详细图文教程

    1:使用idea建立一个web项目 2:引入pom依赖 <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.

随机推荐