1. 程式人生 > >搭建SpringBoot工程(Maven多模組版)

搭建SpringBoot工程(Maven多模組版)

一、搭建一個Maven 多模組專案

我們意思一下,假設我們構建的專案就這三個模組

  • springboot-front
    web層
  • springboot-service
    業務層
  • springboot-dao
    資料持久層

依賴關係如下:

依賴依賴springboot-frontspringboot-servicespringboot-dao

搭建完了後如下圖:
在這裡插入圖片描述

二、加入jar依賴

  1. 在父工程中整合springboot的依賴管理
    修改springboot/pom.xml檔案,新增springboot parent,新增完了以後如下:
<?xml version="1.0" encoding="UTF-8"?>
<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> <groupId>com.chinack</groupId>
<artifactId>springboot</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> <!-- 新增 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId
>
<version>2.0.3.RELEASE</version> </parent> <modules> <module>springboot-dao</module> <module>springboot-service</module> <module>springboot-front</module> </modules> </project>

說明
springboot parent對構建springboot工程spring系列和一些常用的第三方包進行了管理。我們只需要將其作為parent即可不用指定版本號來引入spring和已經加入管理的第三方包。springboot這麼做,也是為了解決第三方包之間的版本衝突問題。

  1. 給web工程新增spring依賴
    修改springboot/springboot-front/pom.xml,增加spring web starterservice工程的依賴。完了後如下:
<?xml version="1.0" encoding="UTF-8"?>
<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">
    <parent>
        <artifactId>springboot</artifactId>
        <groupId>com.chinack</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>springboot-front</artifactId>
    <packaging>jar</packaging>

    <dependencies>
        <!-- springboot web starter -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- 依賴springboot-service -->
        <dependency>
            <groupId>com.chinack</groupId>
            <artifactId>springboot-service</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>

說明
因為這是一個web工程,所以需要增加web starter的依賴,web starter引入了構建一個web工程的jar包。

  1. springboot-service增加spring-contextdao工程的依賴包
    修改springboot/springboot-service/pom.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<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">
    <parent>
        <artifactId>springboot</artifactId>
        <groupId>com.chinack</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>springboot-service</artifactId>

    <dependencies>
        <!-- spring context -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <scope>provided</scope>
        </dependency>
        <!-- dao工程依賴 -->
        <dependency>
            <groupId>com.chinack</groupId>
            <artifactId>springboot-dao</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>

說明
這裡的spring-context包的scopeprovided,因為這個包在frontspringboot web starter中已經被引入了。我們之所以需要引入這個包,是因為我們需要使用@Service、@Autowired等Spring提供的註解。如果你還需要用到別的第三方包,也可以直接引入。

三、增加啟動類

我們新建啟動類Application.java放在包com.chinack.springboot下。為了演示,我們新建Controller類IndexController放在com.chinack.springboot.controller中(請務必這麼做,因為SpringBoot要求啟動類必須要在其它元件類所在包的父包中)。

  • Application.java內容如下
package com.chinack.springboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

    public static void main(String[] args){
        SpringApplication.run(Application.class);
    }
}

  • IndexController內容如下,這裡用到了IndexService,博文中沒有提到,這就是一個普通的Service而已,詳情可以檢視博文最後提到的原始碼。
package com.chinack.springboot.controller;

import com.chinack.springboot.service.IndexService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class IndexController {

    @Autowired
    private IndexService indexService;

    @RequestMapping("/index")
    public String index(){
        return "Hello SpringBoot 多模組工程,Dao名稱為: " + indexService.getDaoName();
    }
}

這樣,SpringBoot的Maven多模組工程就搭建完了,執行Application的main方法,然後訪問,得到下圖:
在這裡插入圖片描述

總結

1、搭建一個Maven多模組工程
2、在parent中引入springboot parent來繼承springboot的包管理
3、在web工程中引入springboot的提供的web starter
4、在非web工程引入自己需要的包,如果包已經在front中引入,那麼修飾scope為provided。
實現&理解上面四點即可搭建一個Spring Boot Maven多模組工程。

(完)

相關推薦

搭建SpringBoot工程Maven模組

一、搭建一個Maven 多模組專案 我們意思一下,假設我們構建的專案就這三個模組 springboot-front web層 springboot-service 業務層 springboot-dao 資料持久層 依賴關係如下: 依賴依賴springboot

Struts2+Spring+Hibernate整合開發Maven模組搭建

Struts2+Spring+Hibernate整合開發(Maven多模組搭建) 0.專案結構 Struts2:web層 Spring:物件的容器 Hibernate:資料庫持久化操作   1.父模組匯入和管理所有需要的jar包 <?xml v

idea下用spring bootmaven的升級搭建SSM微服務環境專案

            簡述:今天開始建立springboot式的微服務環境專案,這裡重點在於學習,所以也是一步一步的搭建並完善,這裡先用普通maven(spring boot)建立單體專案引進,隨後再引進dubbo,完成為服務結構。理論方

Eclipse中使用JRebel實現項目熱部署Maven插件

圖片 pom 參數 項目 設置 tof 並保存 central 打印 JRebel實現項目熱部署(Maven插件版) 熱部署,就是在應用運行過程中不進行重啟,可直接進行軟件升級。 在開發過程中,熱部署就是在項目運行過程中變更代碼,無需重啟服務器即可使代碼生效。 tomc

從零搭建vue工程vue-router,webpack

vue 官方提供了快捷構建專案的腳手架工具(vue-cli),只需幾個命令就能輕鬆初始化一個 vue 的 webpack 專案。雖然能夠快速開發,但是如果想自己改些配置會有些困難,擔心一點改動專案就跑不起來了,也不知道每個引數的作用是啥,正所謂“自己動手豐衣

Eclipse搭建基於SpringbootMaven模組工程

1,寫在前面的話 1.1,我想說點啥          公司提供介面服務的專案要進行重構,主旨是構建基於Springboot的Maven多模組聚合工程.因之前接觸Springboot較少,於是就在網上查閱資料,查了好多部落格發現大部分都是寫用idea構建的,部分用Ec

Springboot+Maven模組開發 初始化工程新建第一個web工程

學習Springboot+maven多模組開發筆記。 首先建立一個空專案,新建一個pom檔案,該pom檔案是整個工程的parent pom。 pom檔案內容如下: <pre name="code" class="html"><?xml version

使用IDEA基於Maven搭建模組聚合工程springmvc+spring+mybatis整合

文章有不當之處,歡迎指正,如果喜歡微信閱讀,你也可以關注我的微信公眾號:好好學java,獲取優質學習資源。 終於有時間搞java了,今天使用IDEA基於maven搭建了多模組聚合工程,經過了多番嘗試,終於成功啦! 注意:這裡是在原作者的基礎上改進的版

使用IDEA基於Maven搭建模塊聚合工程springmvc+spring+mybatis整合

utf-8 組件 json處理 con mon 博客 quick 作者 處理工具 文章有不當之處,歡迎指正,如果喜歡微信閱讀,你也可以關註我的微信公眾號:好好學java,獲取優質學習資源。 終於有時間搞java了,今天使用IDEA基於maven搭建了多模塊聚合工程,經過了

springbootmaven模組專案架構微服務搭建--跳過springmvc單一專案直接構建模組並衍化為微服務專案

  總想對微服務架構做一個小小的總結,不知如何下手,最近覺得還是從搭建微服務的過程來入手,對於springboot的maven專案從構建多模組架構進而衍化為常用的微服務架構來做個記錄吧。   首先,建立多個springboot專案,專案結構如圖:       裁剪後如右側   建立完成後,先解釋一下:s

springbootmaven模組專案架構微服務搭建——依賴方式的模組演化為微服務專案

在上一篇依賴方式多模組的基礎上對專案進行改造。主要改造user-service專案,service要配置mapper。mybatis及資料庫相關的東西,後面的介面消費方user就不再需要了 注意:以下程式碼是在不同場所的機器上寫的,資料庫什麼的會有不同,結構也會有不同,最終的程式碼會以其中一個傳遞到本人gi

springboot + dubbo + zookeeper 註冊中心 + maven模組專案框架搭建具體操作

1. 專案搭建前瞭解: Maven多模組專案可以解決專案中出現多個相同的jar包和service介面以及實體類物件的問題,可以將相同的提取成一個專案來維護管理,然後其他需要用到則只要引用jar包即可使用。 2. 將springboot + dubbo + zookeeper專案進行拆分: 生

Springboot整合dubbo構建maven模組專案

在中,我們配置了一個dubbo專案,包含三個模組springboot-dubbo-api、springboot-dubbo-server和springboot-dubbo-client,並且在springboot-dubbo-server和springboot-dubbo-c

IDEA+Maven+個Module模組建立模組SpringBoot整合專案

最近在學習springboot,先從建立專案開始,一般專案都是一個專案下會有多個模組,這裡先建立一個最簡單的例項,一個專案下有一個springboot模組專案提供web服務,引用另一個java專案(相當於業務邏輯)  期望的專案結構如下  springboot-test  —

springboot構建maven模組工程

一 .建立父工程: 1.首先使用 Spring Initializr 來快速建立好一個Maven工程。然後刪除無關的檔案,只需保留pom.xml 檔案。 然後在 pom.xml 裡面宣告該父工程

Springboot整合dubbo構建maven模組專案- 專案建立和pom.xml中jar包配置

       以前一直用Spring作為容器構建專案,但是看到Spring官網一直在推Springboot,最重要的是Springboot確實避免自己尋找多個jar包(大多數情況下,可能自己都不記得該引入哪些jar包)和jar包之間衝突的問題,同時省掉了在整合其他框架時候

SpringBoot+Maven模組專案建立、依賴、打包可執行jar包部署測試完整流程

開發環境:IDEA,                   SprngBoot 2.0.4,                   Maven 2.19.1 工程結構:                              父工程father            

Maven模組工程搭建

一、工程結構: 其中ds 系統中包含兩個模組,分別為ds-service和ds-admin 二、搭建如上工程結構步驟如下: 1、建立父專案ds,在Eclipse裡面New -> Maven Project;記得勾選Create a simple proj

搭建maven模組工程

搭建maven多模組工程 一、概要 作業系統:win7 變成語言:java web容器:tomcat IDE工具:STS(Spring Tool Suite) 專案管理工具:maven 搭建環境: 1、安裝jdk 一鍵式安裝,下一步下一步即可 安裝完畢配置環境變數:JA

Maven實戰》讀書筆記--(1)使用intellij idea搭建並配置maven模組專案

本文使用intellij idea搭建Maven3多模組專案,並進行配置相關配置,以實現專案的構建打包。 專案結構 multi-module-project是我們的專案名稱,其中包含多個模組: mmp-dal模組:資料訪問層,提供對原始資料(主要指資料庫)的操作