欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

springboot+gradle 構(gòu)建多模塊項目的步驟

 更新時間:2018年05月25日 15:36:13   作者:https://blog.csdn.net/formularoom/article/details/70354562  
這篇文章主要介紹了springboot+gradle 構(gòu)建多模塊項目的步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

springboot用以進行web項目開發(fā)的便捷性,本文不再贅述,主要是想將工作中基于springboot與gradle的多模塊項目的構(gòu)建經(jīng)驗進行總結(jié)與歸納。

1.創(chuàng)建項目

首先安裝java和gradle,本文選用的java版本為1.8.0_40,gradle版本為2.10,安裝過程本文不再贅述。

其次創(chuàng)建項目,名稱為 springboot-mm:

mkdir springboot-mm 
cd springboot-mm 
gradle init

此時的項目結(jié)構(gòu)如下:

接下來,創(chuàng)建多個模塊,這里以web和modules為例,先創(chuàng)建相關(guān)的目錄,

Linux:

mkdir -p web/src/main/{java,resources} web/src/test/{java,resource}
mkdir -p modules/src/main/{java,resources} modules/src/test/{java,resource}

Windows:

mkdir web\src\main\java,web\src\main\resource,web\src\test\java,web\src\test\resource
mkdir modules\src\main\java,modules\src\main\resource,modules\src\test\java,modules\src\test\resource

此時的目錄結(jié)構(gòu)如下:

2.修改配置

首先修改根目錄下的 settings.gradle 文件,引入子模塊:

include 'web','modules' 

其次修改根目錄下的 build.gradle:

// 所有子項目的通用配置
subprojects { 
  apply plugin: 'java'
  apply plugin: 'idea'

  version = '1.0.0' 

  // JVM 版本號要求
  sourceCompatibility = 1.8
  targetCompatibility = 1.8

  // java編譯的時候缺省狀態(tài)下會因為中文字符而失敗
  [compileJava,compileTestJava,javadoc]*.options*.encoding = 'UTF-8'

  repositories {
    mavenLocal()
    maven { url "http://maven.aliyun.com/nexus/content/groups/public" }
    mavenCentral()
    jcenter()
    maven { url "http://repo.spring.io/snapshot" }
    maven { url "http://repo.spring.io/milestone" }
    maven { url 'http://maven.springframework.org/release' }
    maven { url 'http://maven.springframework.org/milestone' }
  }

  jar {
    manifest {
      attributes("Implementation-Title": "Gradle")
    }
  }

  // 顯示當(dāng)前項目下所有用于 compile 的 jar.
  task listJars(description: 'Display all compile jars.') << {
    configurations.compile.each { File file -> println file.name }
  }

  gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
      options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
    }
  }
}

接下來,使用intellij (使用版本為2016.3)導(dǎo)入項目,導(dǎo)入成功后,應(yīng)該可見如下顯示:

添加 web/build.gradle 文件并修改,來定義 web模塊的依賴:

buildscript {
  repositories {
    mavenLocal()
    maven { url "http://maven.aliyun.com/nexus/content/groups/public" }
    maven { url "http://repo.spring.io/snapshot" }
    maven { url "http://repo.spring.io/milestone" }
    jcenter()
  }

  dependencies {
    classpath("org.springframework.boot:spring-boot-gradle-plugin:1.4.5.RELEASE")
  }
}

apply plugin: 'org.springframework.boot'

archivesBaseName = 'web'

ext {
  springBootVar = '1.4.5.RELEASE'
}

dependencies {
  compile project(':modules')

  // spring boot
  compile "org.springframework.boot:spring-boot-starter-web:$springBootVar"

  testCompile "org.springframework.boot:spring-boot-starter-test:$springBootVar"
}

添加 modules/build.gradle 文件,本例中modules是web的依賴模塊,通??梢詫㈩愃苚rm,支付,認(rèn)證等功能分別放到不同的modules中,這樣可以降低程序的耦合性,便于業(yè)務(wù)的擴展。讀者可根據(jù)自身項目要求,對modules/build.gradle進行修改,但需要在modules/build.gradle,加入以下配置:

bootRepackage {
  enabled = false
}

具體原因,請參考,此處

3.添加測試代碼

添加web\src\main\java\com\formularoom\Application.java,示例代碼如下

@ComponentScan( basePackages = {"com.formularoom"})
@EnableAutoConfiguration
public class Application extends SpringBootServletInitializer implements EmbeddedServletContainerCustomizer {
  public static void main(String args[]) {
    SpringApplication.run(Application.class, args);
  }

  @Override
  public void customize(ConfigurableEmbeddedServletContainer container) {
    container.setPort(8081);
  }
}

添加web\src\main\java\com\formularoom\controller\test1.java,

@Controller
public class test1 {

  @RequestMapping(value = "/test1", method = RequestMethod.GET)
  @ResponseBody
  public String test1() {
    return "spring boot multiple modules test";
  }
}

使用瀏覽器訪問http://127.0.0.1:8081/test1 , 顯示如下:

完整的示例代碼,可從此處 獲取。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • MyBatis中${}?和?#{}?有什么區(qū)別小結(jié)

    MyBatis中${}?和?#{}?有什么區(qū)別小結(jié)

    ${}?和?#{}?都是?MyBatis?中用來替換參數(shù)的,它們都可以將用戶傳遞過來的參數(shù),替換到?MyBatis?最終生成的?SQL?中,但它們區(qū)別卻是很大的,今天通過本文介紹下MyBatis中${}?和?#{}?有什么區(qū)別,感興趣的朋友跟隨小編一起看看吧
    2022-11-11
  • Java漢字轉(zhuǎn)拼音案例詳解

    Java漢字轉(zhuǎn)拼音案例詳解

    這篇文章主要介紹了Java漢字轉(zhuǎn)拼音案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • java從mysql導(dǎo)出數(shù)據(jù)的具體實例

    java從mysql導(dǎo)出數(shù)據(jù)的具體實例

    這篇文章主要介紹了java從mysql導(dǎo)出數(shù)據(jù)的具體實例,有需要的朋友可以參考一下
    2013-12-12
  • SpringBoot返回long,前端接收進度丟失,@JsonSerialize不生效問題

    SpringBoot返回long,前端接收進度丟失,@JsonSerialize不生效問題

    這篇文章主要介紹了SpringBoot返回long,前端接收進度丟失,@JsonSerialize不生效問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • SpringBoot2之PUT請求接收不了參數(shù)的解決方案

    SpringBoot2之PUT請求接收不了參數(shù)的解決方案

    這篇文章主要介紹了SpringBoot2之PUT請求接收不了參數(shù)的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 使用Spring boot + jQuery上傳文件(kotlin)功能實例詳解

    使用Spring boot + jQuery上傳文件(kotlin)功能實例詳解

    本文通過實例代碼給大家介紹了使用Spring boot + jQuery上傳文件(kotlin) 功能,需要的朋友可以參考下
    2017-07-07
  • java實現(xiàn)租車系統(tǒng)

    java實現(xiàn)租車系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)租車系統(tǒng),以及遇到的兩個問題解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Java實用工具之使用oshi獲取主機信息的方法

    Java實用工具之使用oshi獲取主機信息的方法

    這篇文章主要介紹了Java實用工具之使用oshi獲取主機信息的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • Spring編程式和聲明式事務(wù)實例講解小結(jié)

    Spring編程式和聲明式事務(wù)實例講解小結(jié)

    這篇文章主要介紹了Spring編程式和聲明式事務(wù)實例講解小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 淺談從Java中的棧和堆,進而衍生到值傳遞

    淺談從Java中的棧和堆,進而衍生到值傳遞

    這篇文章主要介紹了淺談從Java中的棧和堆,進而衍生到值傳遞,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09

最新評論