• 一起来学Spring Cloud | 第一章 :如何搭建一个多模块的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)

  • 相关阅读:
    jdk环境一键配置
    IIS 浏览aspx页面出现 无法显示 XML 页
    ASP.NET MVC(三)
    ASP.NET MVC(二)
    ASP.NET MVC (一)
    Fatal error: Call to a member function bind_param() on a non-object in
    Eclipse字符集设置方式
    mysql 管理工具
    win7 IIS发布项目遇到的问题
    php 环境的搭建
  • 原文地址:https://www.cnblogs.com/haly/p/10863055.html
Copyright © 2020-2023  润新知