1. 程式人生 > >Maven 搭建spring boot多模組專案

Maven 搭建spring boot多模組專案

轉自:https://segmentfault.com/a/1190000005020589

備註:所有專案都在idea中建立

1.idea建立maven專案(Project)

  • 1-1: file > new > project 輸入 groupId和artifactId

  • 1-2:刪除src,target目錄,只保留pom.xml

  • 1-3: 根目錄pom.xml可被子模組繼承,因此專案只是demo,未考慮太多效能問題,所以將諸多依賴

    都寫在根級`pom.xml`,子模組只需繼承就可以使用。
  • 1-4: 根級pom.xml檔案在附錄1

  • 1-5: 依賴模組 mybatis spring-boot相關模組

2.建立子模組(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>此段必須加上,用來繼承父模組

至此,專案的基礎結構搭建完畢了,接下來可以來擼程式碼了,哦哦稍等,我先介紹下各個子module的工作職責吧

4.子模組在專案中擔任的'工作職責'

  • model 此模組存放著所有的實體類

  • dao 此模組存放著資料互動的具體實現,供service呼叫

  • service 此模組存放業務程式碼實現,供API層呼叫

  • webapi 此模組也可以不出現在專案中,為了寫demo故將webapi層放進來

5.model層實體類編寫

  • 建立包名 com.luyh.projectv1.model

  • 建實體類 Member.java 具體程式碼請clone我的git,git地址在最下方

6.dao層資料庫操作層

  • 建立com.luyh.projectv1.dao.config,該包內只有2個讓spring boot自動載入配置的配置java類

  • 建立MemberMapper.java 具體內容看程式碼

  • 在resources/mybatis 下建立MemberMapper.xml

  • 建立IMember.java

  • 建立Member.java 實現Imember介面

  • 建立resources/application.properties檔案用於配置資料庫連線

7. service 編寫業務邏輯

  • 建立 com.luyh.projectv1.service 包

  • 建立IMemberService.java介面

  • 建立MemberService.java實現類

  • MemberService.java 類中自動注入DaoMember 並呼叫其方法獲取資料

8. webapi 編寫webapi獲取json資料

  • 建立Application.java 啟動應用

  • 建立 com.luyh.projectv1.webapi.controller.MemberController.java 寫個rest風格Controller

  • 啟動

9.sql檔案 請自行匯入mysql資料 sql檔案