Gradle構(gòu)建SpringBoot單模塊項(xiàng)目
- 方式Ⅰ:未基于:Gradle Wrapper
- 方式Ⅱ:(推薦使用)Gradle Wrapper【可以不安裝Gradle、統(tǒng)一Gradle的版本】——包括Maven也是一樣的可以用Wrapper的方式
- 版本:JDK8 + SpringBoot2.7.15 + Gradle8.x
- 本篇主要講實(shí)現(xiàn)。Gradle與Maven的區(qū)別自己去看
Ⅰ、普通方式(基礎(chǔ))
- 別用這種方式,gradle的版本也低
一、需要先安裝Gradle
-
需要配置Gradle的環(huán)境變量,如同Maven
-
自己搜,也許后面我會(huì)出
二、構(gòu)建項(xiàng)目、導(dǎo)包
1、build.gradle -構(gòu)建配置+導(dǎo)包
-
主要插件:'io.spring.dependency-management' (Gradle 5.x 之前版本)
- dependency-management會(huì)做自動(dòng)做一件核心事情:spring boot grale插件會(huì)自動(dòng)調(diào)用dependency-management引入
org.springframework.boot:spring-boot-dependencies:SPRING_BOOT_VERSION
,- 其中
SPRING_BOOT_VERSION
也是spring boot gradle插件的版本,spring-boot-dependencies中維護(hù)了spring boot生態(tài)下的bom數(shù)據(jù)。
- 其中
- Gradle 5.x開始自動(dòng)提供bom功能,因此可以不用引入spring 的dependency management插件,直接導(dǎo)包
- dependency-management會(huì)做自動(dòng)做一件核心事情:spring boot grale插件會(huì)自動(dòng)調(diào)用dependency-management引入
-
主要插件:'org.springframework.boot'
//以下兩種構(gòu)件方式都可以
// 構(gòu)建方式一:
/*buildscript {
repositories {
mavenLocal()
maven { url 'https://maven.aliyun.com/repository/public/' }
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:2.0.5.RELEASE")
}
}
apply plugin: 'java' //gradle創(chuàng)建的java項(xiàng)目
apply plugin: 'idea' //idea插件:生成IDE工程文件,然后在IDE中直接打開這樣的工程文件。這樣的好處一是非常簡(jiǎn)單,二是所有人都使用了相同的IDE配置。
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management' //類似 Maven的 dependencyManagement方式實(shí)現(xiàn)依賴管理 的插件*/
// 構(gòu)建方式二:
plugins{
id 'java'
id 'idea'
id 'org.springframework.boot' version '2.0.5.RELEASE'
id 'io.spring.dependency-management' version "1.0.8.RELEASE"
}
//組、版本、jdk版本
group = 'com.zdhb'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
targetCompatibility = 1.8
//倉(cāng)庫(kù)配置
repositories {
mavenLocal() //本地
maven { url 'https://maven.aliyun.com/repository/public/' } //阿里鏡像
mavenCentral() //中央倉(cāng)庫(kù)
}
//導(dǎo)包
dependencies {
compile"org.springframework.boot:spring-boot-starter-web"
testCompile("org.springframework.boot:spring-boot-starter-test")
// compile "com.baomidou:mybatis-plus:2.2.0"
compile "com.microsoft.sqlserver:sqljdbc4:4.0"
compile "org.apache.velocity:velocity-engine-core:2.0"
compile "com.alibaba:druid:1.1.11"
//hutool工具類
compile "cn.hutool:hutool-all:5.0.7"
//lombok
compile "org.projectlombok:lombok:1.18.16"
//處理 JSON 數(shù)據(jù)包
compile "com.alibaba:fastjson:1.2.49"
compile "org.apache.commons:commons-lang3:3.5"
//compile "org.springframework:spring-web:5.0.9.RELEASE"
// compile "io.swagger:swagger-annotations:1.5.20"
compile "com.baomidou:mybatis-plus-boot-starter:2.2.0"
}
2、application.yml -配置文件
server:
port: 9004
配置數(shù)據(jù)庫(kù)和mybatis plus后
server:
port: 9004
spring:
# 連接池配置
datasource:
url: jdbc:sqlserver://***:1433;database=site_card_input #zd_gms_cd數(shù)據(jù)庫(kù)名 配置時(shí)間區(qū)
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver #數(shù)據(jù)庫(kù)驅(qū)動(dòng)
username: sa
password: ****
type: com.alibaba.druid.pool.DruidDataSource #使用druid連接池
#時(shí)間戳統(tǒng)一轉(zhuǎn)換
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
# 配置 mybatis-plus
mybatis-plus:
mapper-locations: classpath:com/****/sacs/mapper/*Mapper.xml #掃描xml文件
type-aliases-package: com.****.sacs.dto,com.zdhb.sacs.query #配置別名
3、啟動(dòng)類
- 記得掃描Mapper的組件 @MapperScan("com.zdhb.sacs.mapper")
@SpringBootApplication
@MapperScan("com.zdhb.sacs.mapper")
public class SiteAndCradServersApplication9004 {
public static void main(String[] args) {
SpringApplication.run(SiteAndCradServersApplication9004.class);
}
}
4、配置成功的標(biāo)志,Gradle構(gòu)建成功
Ⅱ、單模塊項(xiàng)目
-
JDK8的最終版
-
其實(shí)jdk8+springboot的最終版是:2.7.16-SNAPSHOT。只是我導(dǎo)不進(jìn)來,所以用了:2.7.15
-
Gradle Wapper:用于統(tǒng)一項(xiàng)目所使用的gradle版本,不用安裝Gradle
-
直接使用idea構(gòu)建gradle項(xiàng)目
-
springboot+jdk+gradle的版本:來自spring管網(wǎng)
https://docs.spring.io/spring-boot/docs/2.7.15/reference/html/getting-started.html#getting-started
一、說明
1、idea自己去新建Gradle的SpringBoot項(xiàng)目
2、compile導(dǎo)包方式被棄用
- 使用:implementation、api導(dǎo)包
在Gradle 8.x及以上的版本中,compile配置已被棄用,并且被以下兩個(gè)配置所取代:
1. implementation:用于指定項(xiàng)目的主要依賴項(xiàng),這些依賴項(xiàng)將被編譯和打包到項(xiàng)目中。這是替代compile配置的推薦選項(xiàng)。
【關(guān)鍵詞:被編譯和打包、推薦選項(xiàng)、不共享到其他模塊】
【重點(diǎn):依賴無法被傳遞給子模塊】
2. api:用于指定項(xiàng)目的公共API依賴項(xiàng),這些依賴項(xiàng)將被編譯、打包到項(xiàng)目中,并且對(duì)其他模塊可見。這是替代compile配置的另一個(gè)選項(xiàng),適用于需要在多個(gè)模塊之間共享依賴項(xiàng)的情況。
【關(guān)鍵詞:被編譯和打包、公共依賴其他模塊可見、多模塊共享依賴】
【重點(diǎn):依賴可以被傳遞給子模塊】
二、gradle配置
- 可以不用管
- gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
三、項(xiàng)目配置
1、build.gradle
- 作用如同Maven的pom文件
- 配置springboot的版本,導(dǎo)包,配置倉(cāng)庫(kù)地址等等……
plugins {
id 'java'
id 'org.springframework.boot' version '2.7.15'
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}
group = 'com.cc'
version = '0.0.1-SNAPSHOT'
java {
sourceCompatibility = '8'
targetCompatibility = '8'
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
//倉(cāng)庫(kù)配置
repositories {
//本地
mavenLocal()
//阿里倉(cāng)庫(kù)
maven { url 'https://maven.aliyun.com/repository/public/' }
//公司倉(cāng)庫(kù)。必須用:https。Gradle默認(rèn)情況下不允許使用不安全的協(xié)議,以提高安全性。
maven { url 'https://****:****/repository/maven-public/' }
//中央倉(cāng)庫(kù)
mavenCentral()
}
//導(dǎo)包
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
//用于配置測(cè)試任務(wù)(test task)
tasks.named('test') {
//是一個(gè)測(cè)試任務(wù)的配置方法,它指定使用JUnit 5平臺(tái)來運(yùn)行測(cè)試
//通過使用useJUnitPlatform()配置方法,您可以確保您的測(cè)試任務(wù)使用JUnit 5來運(yùn)行測(cè)試。
useJUnitPlatform()
}
// 配置gradle的版本。需要單獨(dú)運(yùn)行
wrapper {
//gradle的版本
gradleVersion = '8.4'
//版本類型:BIN、ALL(完全版,可以看gradle的代碼)
distributionType = 'ALL'
}
2、settings.gradle
- 可以實(shí)現(xiàn)多模塊配置,這里先不演示
rootProject.name = 'JavaPatterns'
3、SpringBoot配置文件、啟動(dòng)類見【Ⅰ、二】
Ⅲ、多模塊項(xiàng)目
-
見第二篇我的文章:https://www.cnblogs.com/kakarotto-chen/p/17784126.html文章來源:http://www.zghlxwxcb.cn/news/detail-711221.html
-
參考:https://www.cnblogs.com/davenkin/p/gradle-spring-boot.html文章來源地址http://www.zghlxwxcb.cn/news/detail-711221.html
到了這里,關(guān)于Gradle構(gòu)建SpringBoot單模塊項(xiàng)目的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!