您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關springboot中怎么構建多模塊,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
先介紹下背景,項目為什么需要用多模塊?springmvc難道還不夠?
(1)設計模式真言:“高內聚、低耦合”,springmvc項目,一般會把項目分成多個包:controller、service、dao、util等,但是隨著項目的復雜性提高,想復用其他一個模塊的話,因為是包的形式,剝離出來會比較困難,耦合性有點強,常用的方法就是復制代碼修改,但是這樣會做很多無用功與增加出錯幾率。
(2)springboot多模塊簡單來說,就是把按包分模塊的模式,借助maven升級到jar的方式,抽象性更加強了,假如jar再升級到到war或者多個集合jar,就成微服務了( springcloud入門系列),在多模塊jar模式下可以將某個jar拿出來對外共用,能大大提高代碼復用率與開發效率。
(1)新建springboot項目;
(2)在新建后的springboot項目中新建多個module;
(3)修改pom文件以及刪除多余的文件及文件夾。
(1)new->project
(2)next,名字改一下。
(1)在springboot項目上點擊右鍵->new->module
其余方式跟上面的springboot方式一樣,不再多說了。
(2)新建三個module:controller、service、dao,新建后的效果圖如下:
(1)springboot項目
整體刪除src文件夾。
(2)module模塊
將service和dao下面的application啟動類和對應配置文件application.yml/prpperty,一起刪除了,cotroller模塊的不動。
根據springmvc架構,幾個module之間依賴順序 controller->service->dao
(1)修改springboot最外層pom.xml
這個是父pom.xml,用于加載一些全局的或者公共的jar包,以及配置打包。
此pom文件中,需要需改兩個地方:
一是修改打包模式為pom;
二是新建modules標簽,將3個module增加進來。
如下:
<packaging>pom</packaging> <modules> <module>controller</module> <module>service</module> <module>dao</module> </modules>
(2)修改cotroller的pom.xml文件
修改<parent>標簽為本項目springboot項目的gav信息和依賴service的jar包信息。
<!--<parent>--> <!--<groupId>org.springframework.boot</groupId>--> <!--<artifactId>spring-boot-starter-parent</artifactId>--> <!--<version>2.1.6.RELEASE</version>--> <!--<relativePath/> <!– lookup parent from repository –>--> <!--</parent>--> <parent> <groupid>com.laowang</groupid> <artifactid>lwmodul</artifactid> <version>0.0.1-SNAPSHOT</version> </parent> <dependency> <groupid>com.laowang</groupid> <artifactid>service</artifactid> <version>0.0.1-SNAPSHOT</version> </dependency>
(3)修改service的pom.xml文件
與controller類似,只是依賴改為dao。
<!--<parent>--> <!--<groupId>org.springframework.boot</groupId>--> <!--<artifactId>spring-boot-starter-parent</artifactId>--> <!--<version>2.1.6.RELEASE</version>--> <!--<relativePath/> <!– lookup parent from repository –>--> <!--</parent>--> <parent> <groupid>com.laowang</groupid> <artifactid>lwmodul</artifactid> <version>0.0.1-SNAPSHOT</version> </parent> <dependency> <groupid>com.laowang</groupid> <artifactid>dao</artifactid> <version>0.0.1-SNAPSHOT</version> </dependency>
(4)修改dao的pom.xml文件
只需修改parent,不需要再配置依賴了。
<!--<parent>--> <!--<groupId>org.springframework.boot</groupId>--> <!--<artifactId>spring-boot-starter-parent</artifactId>--> <!--<version>2.1.6.RELEASE</version>--> <!--<relativePath/> <!– lookup parent from repository –>--> <!--</parent>--> <parent> <groupid>com.laowang</groupid> <artifactid>lwmodul</artifactid> <version>0.0.1-SNAPSHOT</version> </parent>
(5)啟動
在Cotroller模塊中使用啟動類ControllerApplication啟動,空項目的話,看到這一行就說明成功了。
Started ControllerApplication in 2.485 seconds (JVM running for 3.639)
(1)controller下面的application.property改下端口號(不更改的話默認是:8080)。
server.port=9000
(2)增加依賴
<dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-web</artifactid> </dependency>
在啟動類ControllerApplication增加一個標簽(@RestController)和一個請求方法(home())。
package com.laowang.controller; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @SpringBootApplication public class ControllerApplication { public static void main(String[] args) { SpringApplication.run(ControllerApplication.class, args); } @RequestMapping("/") public String home() { return "i'm 軟件老王,歡迎光臨!"; } }
以上就是springboot中怎么構建多模塊,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。