搭建SpringBoot工程(Maven多模組版)
一、搭建一個Maven 多模組專案
我們意思一下,假設我們構建的專案就這三個模組
- springboot-front
web層 - springboot-service
業務層 - springboot-dao
資料持久層
依賴關係如下:
搭建完了後如下圖:
二、加入jar依賴
- 在父工程中整合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這麼做,也是為了解決第三方包之間的版本衝突問題。
- 給web工程新增spring依賴
修改springboot/springboot-front/pom.xml
,增加spring web starter
和service
工程的依賴。完了後如下:
<?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包。
- 給
springboot-service
增加spring-context
和dao
工程的依賴包
修改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
包的scope
為provided
,因為這個包在front
的springboot 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 boot(maven的升級版)搭建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搭建基於Springboot的Maven多模組工程
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搭建了多模塊聚合工程,經過了
springboot的maven多模組專案架構微服務搭建--跳過springmvc單一專案直接構建多模組並衍化為微服務專案
總想對微服務架構做一個小小的總結,不知如何下手,最近覺得還是從搭建微服務的過程來入手,對於springboot的maven專案從構建多模組架構進而衍化為常用的微服務架構來做個記錄吧。 首先,建立多個springboot專案,專案結構如圖: 裁剪後如右側 建立完成後,先解釋一下:s
springboot的maven多模組專案架構微服務搭建——依賴方式的多模組演化為微服務專案
在上一篇依賴方式多模組的基礎上對專案進行改造。主要改造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模組:資料訪問層,提供對原始資料(主要指資料庫)的操作