使用 IntelliJ IDEA 2020.1.2 和 Gradle 構建項目。
一、新建一個父項目
1、點擊菜單 File -> New -> Project -> Gradle ->Java
,然后點擊 Next
。
2、填寫項目的名稱,然后點擊 Finish
。
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 文件的 group
和 version
修改為自己需要的,dependencies
依賴管理自行按照例子添加。
二、添加普通模塊 learn-common
learn-common 模塊為普通jar依賴包,不需要獨立運行。
1、選擇父項目右鍵點擊 -> New -> Module
選擇 Gradle -> Java
,然后點擊 Next
。
2、填寫模塊的名稱,Artifact Coordinates
內不用填寫,然后點擊 Finish
。
3、修改 build.gradle 內容
創建完成后出現 learn-common
模塊(文件右下角有藍色小方塊)。
然后我們把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
.
3、創建配置文件
然后我們在 src -> resources
下創建項目的配置文件 application.yml
內容如下:
server:
port: 80
spring:
application:
name: gateway01
配置完成,我們就和寫普通的springboot項目一樣編碼即可。
四、業務模塊
其他業務模塊的創建方式和 learn-gateway 網關模塊基本一致。
每創建一個模塊,idea都會在父項目的
settings.gradle
中自動進行include
,如果是復制的模塊,需要手動添加。
-
SpringCloud 系列文章:https://www.cnblogs.com/lixingwu/category/1988185.html