種子項目詳解

引言

在上一篇文章簡單講解了種子項目搭建,但是項目搭建起來是爲了方便我們後續開發的。因此瞭解整個項目的架構,以及各個Maven模塊是如何各司其職、相互依賴,是至關重要的。

這裏分成兩塊介紹

  • lenosp自帶的內容
  • 新增擴展的內容

lenosp自帶的內容

首先我們看看lenosp腳手架自帶的Maven模塊有哪些

img

  • len-admin:這是博客管理員的模塊,這裏用不上,不管
  • len-blog:這是博客模塊,同上
  • len-core
  • len-sys
  • len-web

下面主要講講len-corelen-syslen-web這三個模塊。

len-core

何謂core?core在英文中的意思是核心、要點,而在該項目中,len-core也是整個項目的核心。我們先來看看文件結構

img

可以看到,這裏有四個大包baseexceptionfreemarkerredis,以及一個util工具包,還有一個validator參數校驗分組接口包。

base包

base即基礎,也就是抽取通用部分封裝成的基礎類,讓其他類去繼承之,減少重複代碼。這裏有通用Mapper的配置(BaseMapper),以及service層通用的方法(BaseService),而BaseController中則有權限異常處理、時間格式化和ajax請求的判斷。

至於下面的三個Currentxxx則是後臺管理系統的菜單、角色、用戶實體類。剩下兩個不知道…

exception包

該包下是自定義的一些異常,以及統一異常處理類GlobalExceptionHandler

freemarker包

該包下是Freemarker模板引擎的一些配置。

redis包

redis的一些常用方法封裝,例如get\set\del

util包

img

這裏有很多工具類,其中的功能大都可以顧名思義。這裏就不詳細展開講了。

validator

img

校驗分組接口定義。有時候一個類對於不同的接口需要定義多種不同的校驗方式,例如add不需要id,而update需要id,這裏可以使用接口區別校驗。

pom.xml

每個Maven模塊都會帶的xml配置文件,用於引入依賴、管理多模塊依賴。以下就不再敘述。

len-sys

sys是系統的縮寫。這裏也就是系統運行所依賴的類集合。文件結構如下:

img

學過Javaweb三層架構的同學應該很清楚了,controller、service、mapper即分別對應三層。而entity是實體類。下面再來看看core

core包

img

  • annotation

    註解定義,這裏是日誌註解的定義。用於接口上,採集日誌。

  • BootListener

    監聽器,用於監聽定時任務執行情況、bean初始化情況以及Servlet初始化情況。

  • filter

    過濾器,包括後臺管理系統登錄所需的驗證碼攔截、校驗用戶是否已授權

  • quartz

    定時任務定義、配置,具體不說。

  • shiro

    shiro安全框架登錄認證LoginRealm定義,以及Principal用戶主體、RetryLimitCredentialsMatcher驗證器,限制嘗試登陸次數,防止暴力破解

resources

看完core我們繼續看resources,學過SpringBoot的同學都知道這是放資源文件的地方。

img

  • ftl

    該包是存放ftl後綴的模塊頁面的文件夾

  • mapper

    存放mapper.xml文件的文件夾

  • plugin

    存放前端使用的框架的文件夾,例如bookstraplayui

len-web

該模塊是也就是我們所說的controller層的一些配置以及application.yml的配置。

img

挑幾個懂的出來說說

  • CorsConfig:配置跨域
  • pageHelperConfig:此方案可替代 application.yml中 pagehelper配置
  • SwaggerConfig:Swagger接口文檔配置
  • WebMavConfig:攔截器資源放行以及圖片上傳路徑定義
  • TransactionalConfig:事務配置
  • ShiroConfig:Shiro安全框架配置
  • DruidConfig:數據源Druid配置

差不多就這些吧。可以自己點進源碼詳細看看

自己擴展的模塊

我們使用lenosp腳手架當然是爲了方便開發,而我們開發可以自己新開模塊再開發,而不要和腳手架自帶的模塊混雜在一起,顯得混亂。

img

這五個模塊其實很好理解了,就是三層架構拆分成了Maven多模塊開發,不用多說了吧。

後記

最後,再講講幾個注意的點。

  • 因爲用到了Maven多模塊開發,所以各模塊的依賴關係要理清楚。否則編譯運行可能都不能通過
  • 啓動在len-web中的Application啓動類的主方法中
  • 數據庫等yml配置也在len-web模塊

至此,我們可以安心開發了0.0

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章