詳解Maven 搭建spring boot多模塊項目(附源碼)
本文介紹了Maven 搭建spring boot多模塊項目,分享給大家,具體如下:
備注:所有項目都在idea中創(chuàng)建
1.idea創(chuàng)建maven項目
- 1-1: 刪除src,target目錄,只保留pom.xml
- 1-2: 根目錄pom.xml可被子模塊繼承,因此項目只是demo,未考慮太多性能問題,所以將諸多依賴。都寫在根級`pom.xml`,子模塊只需繼承就可以使用。
- 1-3: 根級pom.xml文件在附錄1
- 1-4: 依賴模塊 mybatis spring-boot相關(guān)模塊
2.創(chuàng)建子模塊(module)
- 2-1: file > new > module 輸入 model
- 2-2: file > new > module 輸入 dao
- 2-3: file > new > module 輸入 service
- 2-4: file > new > module 輸入 webapi
3.修改子模塊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>parent</artifactId> <groupId>com.luyh.projectv1</groupId> <version>1.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>projectv1-model</artifactId> </project>
注意:<font color="red"><relativePath>../pom.xml</relativePath></font>此段必須加上,用來繼承父模塊
至此,項目的基礎(chǔ)結(jié)構(gòu)搭建完畢了,接下來可以來擼代碼了,哦哦稍等,我先介紹下各個子module的工作職責(zé)吧
4.子模塊在項目中擔(dān)任的'工作職責(zé)'
- model 此模塊存放著所有的實體類
- dao 此模塊存放著數(shù)據(jù)交互的具體實現(xiàn),供service調(diào)用
- service 此模塊存放業(yè)務(wù)代碼實現(xiàn),供API層調(diào)用
- webapi 此模塊也可以不出現(xiàn)在項目中,為了寫demo故將webapi層放進(jìn)來
5.model層實體類編寫
- 建立包名 com.luyh.projectv1.model
- 建實體類 Member.java 具體代碼請clone我的git,git地址在最下方
6.dao層數(shù)據(jù)庫操作層
- 建立com.luyh.projectv1.dao.config,該包內(nèi)只有2個讓spring boot自動加載配置的配置java類
- 建立MemberMapper.java 具體內(nèi)容看代碼
- 在resources/mybatis 下建立MemberMapper.xml
- 建立IMember.java
- 建立Member.java 實現(xiàn)Imember接口
- 建立resources/application.properties文件用于配置數(shù)據(jù)庫連接
7. service 編寫業(yè)務(wù)邏輯
- 建立 com.luyh.projectv1.service 包
- 建立IMemberService.java接口
- 建立MemberService.java實現(xiàn)類
- MemberService.java 類中自動注入DaoMember 并調(diào)用其方法獲取數(shù)據(jù)
8. webapi 編寫webapi獲取json數(shù)據(jù)
- 建立Application.java 啟動應(yīng)用
- 建立 com.luyh.projectv1.webapi.controller.MemberController.java 寫個rest風(fēng)格Controller
- 啟動
9.sql文件 請自行導(dǎo)入mysql數(shù)據(jù) sql文件
這里是項目地址,點擊下載
附錄1
<?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.luyh.projectv1</groupId> <artifactId>parent</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.3.RELEASE</version> </parent> <modules> <module>model</module> <module>dao</module> <module>service</module> <module>webapi</module> </modules> <!--申明依賴關(guān)系--> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.2</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> </dependencies> <!--設(shè)置maven倉庫--> <repositories> <repository> <id>spring-releases</id> <url>https://repo.spring.io/libs-release</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>spring-releases</id> <url>https://repo.spring.io/libs-release</url> </pluginRepository> </pluginRepositories> </project>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java中優(yōu)先隊列PriorityQueue常用方法示例
這篇文章主要介紹了Java中優(yōu)先隊列PriorityQueue常用方法示例,PriorityQueue是一種特殊的隊列,滿足隊列的“隊尾進(jìn)、隊頭出”條件,但是每次插入或刪除元素后,都對隊列進(jìn)行調(diào)整,使得隊列始終構(gòu)成最小堆(或最大堆),需要的朋友可以參考下2023-09-09java加載properties文件的六種方法總結(jié)
這篇文章主要介紹了java加載properties文件的六種方法總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-05-05Java ==,equals()與hashcode()的使用
本文主要介紹了Java ==,equals()與hashcode()的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05java如何實現(xiàn)自動生成數(shù)據(jù)庫設(shè)計文檔
以前我們還需要手寫數(shù)據(jù)庫設(shè)計文檔、現(xiàn)在可以通過引入screw核心包來實現(xiàn)Java?數(shù)據(jù)庫文檔一鍵生成。本文將具體介紹一下如何通過java自動生成數(shù)據(jù)庫設(shè)計文檔,需要的朋友可以參考下2021-11-11