2018-01-18使用maven搭建多模塊的springmvc+mybatis

1、maven自動管理java包

2、maven構建多個模塊,結構清晰,管理方便。

3、使用mybatis持久化框架,手動編寫更多的sql語句

一、測試環(huán)境原理

mysql5.5 + myeclipse2014 +navicate + jdk1.7 + tomcat 7

1、模塊聚合

隨著項目越來越大,功能越來越多,更多的時候需要模塊管理,例如本實例分為model persist service web?

maven的聚合功能將多個模塊統(tǒng)一管理,一次構建。

聚合pom僅僅是幫助模塊聚合的工具,本身并沒有實質(zhì)內(nèi)容




module 就是各模塊名稱

通過構建一個打包方式為pom的maven項目,通過聲明多個module,來實現(xiàn)聚合。

packaging:pom 否則無法聚合構建



2、pom繼承

通過在父pom中聲明來實現(xiàn)子pom中的復用和消除。

打包方式packging:pom,因此可以和聚合使用同一個配置文件。


dependencyManagement 、pluginManagement,讓子pom繼承父pom的同時,又保證了子pom的靈活性,并沒有實際引入子pom中,但約束了子pom的依賴。


二、項目目錄結構


各項目功能介紹:

ssm-root是maven-project是父級maven,管理整個項目

ssm-model是數(shù)據(jù)模型模塊

ssm-persist是持久化模塊,使用的mybatis,則有映射的接口和對應的xml配置文件

ssm-util是工具模塊

ssm-service是業(yè)務服務模塊,是對數(shù)據(jù)操作接口定義和實現(xiàn)的模塊

ssm-web是核心業(yè)務處理層,是springmvc的controller實現(xiàn)處

三、項目搭建

首先eclipse得安裝maven,教程https://jingyan.baidu.com/article/295430f136e8e00c7e0050b9.html

1、創(chuàng)建父級maven-project

新建--->maven-project-->simple-->輸入名稱,創(chuàng)建完畢。


選擇maven project


默認選項


fileter中輸入simple,選擇site,其他兩個j2ee和seam本人沒有測試。


輸入相關的參數(shù)

注意:

groupId定義當前模塊隸屬的實際Maven項目, 表示方式與Java包類似? ?

:?groupId不應直接對應項目隸屬的公司/組織(一個公司/組織下可能會有很多的項目).

artifactId定義實際項目中的一個Maven模塊? ? ?

:?推薦使用項目名作為artifactId前綴, 如:commons-lang3commons作為前綴(因為Maven打包默認以artifactId作為前綴)

version定義當前項目所處版本(如1.0-SNAPSHOT4.2.7.RELEASE、1.2.15、14.0.1-h-3?等)? ? ? ?

:Maven版本號定義約定:?<主版本>.<次版本>.<增量版本>-<里程碑版本>

packaging定義Maven項目打包方式, 通常打包方式與所生成構件擴展名對應? ? ??

:有jar(默認)、war、pom、maven-plugin等.

classifier用來幫助定義構建輸出的一些附屬構件(如javadoc、sources)? ? ?

: 不能直接定義項目的classifier(因為附屬構件不是由項目默認生成, 須有附加插件的幫助)

2、創(chuàng)建子maven-model

注意:父maven管理所有的子maven項目

在父maven中選擇新建--->選擇maven-model-->選擇quickstart--->輸入相關參數(shù)


新建model


filter中輸入start,選擇第一個maven release quickstart


選擇版本號,完成

注意:此時,在父級maven中已經(jīng)含有了子maven-model項目


重復上述步驟,依次創(chuàng)建persist、service、util,

對于web項目,在filter時,輸入web,選擇相應maven管理下的web app?


注意:創(chuàng)建完web項目后,我的該web項目會自動添加maven webapp 然而在pom.xml中使用的項目名稱是web,于是對該項目重命名,使用reactor--rename,當修改了name后,發(fā)現(xiàn)子項目web消失了,于是從新創(chuàng)建model,選擇web,eclipse會自動將之前創(chuàng)建的web項目載入。

第一次創(chuàng)建后,沒有修改,在maven clean時候,報錯,說在找不到web的pom.xml。具體原因,未確定。

關于依賴。

參考文章:http://blog.csdn.net/zjf280441589/article/details/53044308

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,253評論 6 342
  • 26歲的年輕媽媽,自述吃得很少,但身體發(fā)胖。她長期為了孩子焦慮、抑郁,氣血不足,停經(jīng)已半年。之前做過針炙按摩等治療...
    宇恩情志疏導工作室閱讀 1,252評論 0 0
  • 1-2爺爺?shù)拿孛? 我們家祖籍并不是青海的,我小時候聽姑姑提過,我們老家是山東的。困難時期因為家里窮,爺爺只身一人...
    陸家小少爺閱讀 304評論 0 1
  • (一) “真是麻煩,你的血味道也不怎么樣嘛?!眳钦拥袅苏礉M鮮血的啤酒瓶,呆呆地盯著地板說。 地板上,楚遠抽搐著身...
    郭小蚯閱讀 292評論 0 1

友情鏈接更多精彩內(nèi)容