使用Gradle搭建SpringCloud項目

使用 IntelliJ IDEA 2020.1.2Gradle 構建項目。

一、新建一個父項目

1、點擊菜單 File -> New -> Project -> Gradle ->Java,然後點擊 Next

image-20210616164000780

2、填寫項目的名稱,然後點擊 Finish

image-20210616164206174

3、然後等idea自動下載相關的依賴【鏈接外網較慢,建議使用梯子下載】。
4、修改 build.gradle 文件內容
plugins {
    id 'java'
    id 'org.springframework.boot' version '2.3.3.RELEASE'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
}

ext {
    set('springCloudVersion', "Hoxton.SR8")
    set('springCloudAlibabaVersion', "2.2.5.RELEASE")
    mysqlVersion = '8.0.25'
    lombokVersion = '1.18.20'
}

repositories {
    mavenCentral()
}

// 子項目的通用配置
subprojects {
    // 使用插件
    apply plugin: 'java'
    apply plugin: 'org.springframework.boot'
    apply plugin: 'io.spring.dependency-management'

    // 項目的默認名稱和版本
    group = "com.miaopasi.learn.springcloud"
    version = '0.0.1-SNAPSHOT'

    // 指定JDK版本
    sourceCompatibility = '11'
    jar.enabled = true

    // 指定倉庫地址
    repositories {
        mavenCentral()
    }

    dependencyManagement {
        
        // 導入SpringBoot和SpringCloud依賴Bom
        imports {
            mavenBom org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES
            mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
            mavenBom "com.alibaba.cloud:spring-cloud-alibaba-dependencies:${springCloudAlibabaVersion}"
        }
        
        // 自定義配置第三方依賴
        dependencies {
            dependency "mysql:mysql-connector-java:${mysqlVersion}"
            dependency "lombok:org.projectlombok:${lombokVersion}"
        }
    }
}

注意:build.gradle 文件的 groupversion 修改爲自己需要的,dependencies依賴管理自行按照例子添加。

二、添加普通模塊 learn-common

learn-common 模塊爲普通jar依賴包,不需要獨立運行。

1、選擇父項目右鍵點擊 -> New -> Module

image-20210616170441029

選擇 Gradle -> Java,然後點擊 Next

image-20210616164000780

2、填寫模塊的名稱,Artifact Coordinates內不用填寫,然後點擊 Finish

image-20210616170958703

3、修改 build.gradle 內容

創建完成後出現 learn-common 模塊(文件右下角有藍色小方塊)。

image-20210616171506783

然後我們把learn-common 模塊下的 build.gradle 修改一下。

archivesBaseName = "learn-common"

// 取消打包爲 bootJar 可獨立運行包,因爲 common 只是一個普通的jar包
// 如果是需要獨立運行的jar包,這個就改爲true
bootJar.enabled = false

dependencies {
    
    // 這裏引入依賴,不需要定義版本號,已經在父項目定義了
    implementation 'lombok:org.projectlombok'
    
}

三、添加模塊 learn-gateway

learn-gateway 爲API網關,需要獨立運行,我們需要打包爲bootJar。

1、創建模塊

創建步驟和 learn-common 模塊基本一致,只是需要修改 build.gradle

archivesBaseName = 'learn-gateway'

// 打包爲 bootJar,可獨立運行
bootJar {
    enabled = true
    archiveClassifier = 'boot'
}

dependencies {
    // 引入本地的 learn-common 模塊
    implementation project(':learn-common')
    
    // 測試環境引入 spring-boot-starter-test 依賴
    testImplementation 'org.springframework.boot:spring-boot-starter-test'

    // 引入 spring-cloud 依賴
    // gateway 需要註冊到註冊中心,這裏使用的是Eureka,其他註冊中心也可。
    implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
    
    // 需要注意:gateway 項目不能同時依賴spring-boot-starter-web
    implementation 'org.springframework.cloud:spring-cloud-starter-gateway'
}

2、創建啓動類

右鍵項目的 src -> java 文件夾,新建包,在包裏創建啓動類 GatewayMain.java.

image-20210616175411295

image-20210616175534632

image-20210616175705205

3、創建配置文件

然後我們在 src -> resources 下創建項目的配置文件 application.yml

image-20210616173621668

內容如下:

server:
  port: 80

spring:
  application:
    name: gateway01

配置完成,我們就和寫普通的springboot項目一樣編碼即可。

四、業務模塊

其他業務模塊的創建方式和 learn-gateway 網關模塊基本一致。

每創建一個模塊,idea都會在父項目的 settings.gradle 中自動進行 include,如果是複製的模塊,需要手動添加。

image-20210616174426014

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章