日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
SSM(十)項目重構-互聯(lián)網(wǎng)項目的Maven結構

前言

很久沒有更新博客了,之前定下周更逐漸成了月更。怎么感覺像我追過的一部動漫。 這個博文其實很早就想寫了。 之前所有的代碼都是在一個模塊里面進行開發(fā),這和maven的理念是完全不相符的,最近硬是抽了一個時間來對項目的結構進行了一次重構。

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:做網(wǎng)站、網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的安源網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

前言

很久沒有更新博客了,之前定下周更逐漸成了月更。怎么感覺像我追過的一部動漫。 這個博文其實很早就想寫了。 之前所有的代碼都是在一個模塊里面進行開發(fā),這和maven的理念是完全不相符的,最近硬是抽了一個時間來對項目的結構進行了一次重構。

先來看看這次重構之后的目錄結構

為什么需要分模塊

至于為什么要分模塊呢?

我們設想一個這樣的場景: 在現(xiàn)在的互聯(lián)網(wǎng)開發(fā)中,會把一個很大的系統(tǒng)拆分成各個子系統(tǒng)用于降低他們之間的耦合度。

在一個子項目中通常都會為APIWEB、Service等模塊。 而且當項目夠大時,這些通常都不是一個人能完成的工作,需要一個團隊來各司其職。

想象一下:當之前所有的項目都在一個模塊的時候,A改動了API,需要Deploy代碼。而B也改動了service的代碼,但并沒有完全做完。所以A在提交build的時候就會報錯

而且在整個項目足夠大的時候,這個build的時間也是很影響效率的。

但讓我將各個模塊之間分開之后效果就不一樣了。我修改了API我就只需要管我的就行,不需要整個項目進行build。

而且當有其他項目需要依賴我這個API的時候也只需要依賴API即可,不用整個項目都依賴過去。

各個模塊的作用

來看下這次我所分的模塊。

ROOT

這是整個項目的根節(jié)點。 先看一下其中的pom.xml

     
 
 
 
  1. com.crossoverJie 
  2.     SSM 
  3.     pom 
  4.     2.0.0 
  5.  
  6.      
  7.         SSM-API 
  8.         SSM-BOOT 
  9.         SSM-SERVICE 
  10.         SSM-WEB 
  11.      
  12.  
  13.      
  14.         UTF-8 
  15.         4.1.4.RELEASE 
  16.         2.5.0 
  17.         6.0.1 
  18.      
  19.  
  20.  
  21.      
  22.  
  23.          
  24.              
  25.                 com.crossoverJie 
  26.                 SSM-API 
  27.                 2.0.0 
  28.              
  29.           
  30.      

我截取了其中比較重點的配置。

由于這是父節(jié)點,所以我的packag類型使用的是pom。 其中分別有著四個子模塊。

其中重點看下這個標簽。 如果使用的是IDEA這個開發(fā)工具的話是可以看到如下圖:

標紅的有一個向下的箭頭,點一下就可以進入子模塊中相同的依賴。 這樣子模塊就不需要配置具體的版本了,統(tǒng)一由父模塊來進行維護,對之后的版本升級也帶來了好處。

SSM-API

接下來看下API這個模塊:

通常這個模塊都是用于定義外部接口的,以及改接口所依賴的一些DTO類。 一般這個模塊都是拿來給其他項目進行依賴,并和本項目進行數(shù)據(jù)交互的。

SSM-BOOT

BOOT這個模塊比較特殊。 可以看到這里沒有任何代碼,只有一個rpc的配置文件。 通常這個模塊是用于給我們內(nèi)部項目進行依賴的,并不像上面的API模塊一樣給其他部門或者是項目進行依賴的。

因為在我們的RPC調用的時候,用dubbo來舉例,是需要配置所依賴的consumer。

但如果是我們自己內(nèi)部調用的話我們就可以把需要調用自己的dubbo服務提供者配置在這里,這樣的話我們自己調用就只需要依賴這個BOOT就可以進行調用了。

哦對了,BOOT同時還會依賴API,這樣才實現(xiàn)了只依賴BOOT就可以調用自己內(nèi)部的dubbo服務了。 如下所示:

     
 
 
 
  1.  
  2.          
  3.             junit 
  4.             junit 
  5.             test 
  6.          
  7.  
  8.          
  9.             com.crossoverJie 
  10.             SSM-API 
  11.          
  12.  
  13.      

SSM-SERVICE

SERVICE模塊就比較好理解了。 是處理具體業(yè)務邏輯的地方,也是對之前的API的實現(xiàn)。

通常這也是一個web模塊,所以我的pom類型是WAR。

SSM-WEB

其實WEB模塊和SERVICE模塊有點重合了。通常來說這個模塊一般在一個對外提供http訪問接口的項目中。

這里只是為了展示項目結構,所以也寫在了這里。

他的作用和service差不多,都是WAR的類型。

總結

這次沒有實現(xiàn)什么特別的功能,只是對一些還沒有接觸過這種項目結構開發(fā)的童鞋能起到一些引導作用。

具體源碼還請關注我的github。

項目地址:https://github.com/crossoverJie/SSM.git

個人博客地址:http://crossoverjie.top。

GitHub地址:https://github.com/crossoverJie。

先來看看這次重構之后的目錄結構

為什么需要分模塊

至于為什么要分模塊呢?

我們設想一個這樣的場景: 在現(xiàn)在的互聯(lián)網(wǎng)開發(fā)中,會把一個很大的系統(tǒng)拆分成各個子系統(tǒng)用于降低他們之間的耦合度。

在一個子項目中通常都會為API、WEB、Service等模塊。 而且當項目夠大時,這些通常都不是一個人能完成的工作,需要一個團隊來各司其職。

想象一下:當之前所有的項目都在一個模塊的時候,A改動了API,需要Deploy代碼。而B也改動了service的代碼,但并沒有完全做完。所以A在提交build的時候就會報錯

而且在整個項目足夠大的時候,這個build的時間也是很影響效率的。

但讓我將各個模塊之間分開之后效果就不一樣了。我修改了API我就只需要管我的就行,不需要整個項目進行build。

而且當有其他項目需要依賴我這個API的時候也只需要依賴API即可,不用整個項目都依賴過去。

各個模塊的作用

來看下這次我所分的模塊。

ROOT

這是整個項目的根節(jié)點。 先看一下其中的pom.xml

com.crossoverJie     SSM     pom     2.0.0               SSM-API         SSM-BOOT         SSM-SERVICE         SSM-WEB                    UTF-8         4.1.4.RELEASE         2.5.0         6.0.1                                                    com.crossoverJie                 SSM-API                 2.0.0                             

我截取了其中比較重點的配置。

由于這是父節(jié)點,所以我的packag類型使用的是pom。 其中分別有著四個子模塊。

其中重點看下這個標簽。 如果使用的是IDEA這個開發(fā)工具的話是可以看到如下圖:

標紅的有一個向下的箭頭,點一下就可以進入子模塊中相同的依賴。 這樣子模塊就不需要配置具體的版本了,統(tǒng)一由父模塊來進行維護,對之后的版本升級也帶來了好處。

SSM-API

接下來看下API這個模塊:

通常這個模塊都是用于定義外部接口的,以及改接口所依賴的一些DTO類。 一般這個模塊都是拿來給其他項目進行依賴,并和本項目進行數(shù)據(jù)交互的。

SSM-BOOT

BOOT這個模塊比較特殊。 可以看到這里沒有任何代碼,只有一個rpc的配置文件。 通常這個模塊是用于給我們內(nèi)部項目進行依賴的,并不像上面的API模塊一樣給其他部門或者是項目進行依賴的。

因為在我們的RPC調用的時候,用dubbo來舉例,是需要配置所依賴的consumer。

但如果是我們自己內(nèi)部調用的話我們就可以把需要調用自己的dubbo服務提供者配置在這里,這樣的話我們自己調用就只需要依賴這個BOOT就可以進行調用了。

哦對了,BOOT同時還會依賴API,這樣才實現(xiàn)了只依賴BOOT就可以調用自己內(nèi)部的dubbo服務了。 如下所示:

                          junit             junit             test                                com.crossoverJie             SSM-API                

SSM-SERVICE

SERVICE模塊就比較好理解了。 是處理具體業(yè)務邏輯的地方,也是對之前的API的實現(xiàn)。

通常這也是一個web模塊,所以我的pom類型是WAR。

SSM-WEB

其實WEB模塊和SERVICE模塊有點重合了。通常來說這個模塊一般在一個對外提供http訪問接口的項目中。

這里只是為了展示項目結構,所以也寫在了這里。

他的作用和service差不多,都是WAR的類型。

總結

這次沒有實現(xiàn)什么特別的功能,只是對一些還沒有接觸過這種項目結構開發(fā)的童鞋能起到一些引導作用。

具體源碼還請關注我的github。

項目地址:https://github.com/crossoverJie/SSM.git

個人博客地址:http://crossoverjie.top。

GitHub地址:https://github.com/crossoverJie。


文章題目:SSM(十)項目重構-互聯(lián)網(wǎng)項目的Maven結構
網(wǎng)頁鏈接:http://www.dlmjj.cn/article/dhidpic.html