JEECG-BOOT 使用心得

最近爲了方便自己的工作,想寫一個簡單的DNS資源記錄的管理系統,這類管理系統其實之前也用各種編程語言、各類框架實現過,功能上雖然說不是很完善,但也能滿足自己的一些系統管理工作。其實最簡單的無非是把已有的拿過來改改,但這樣有點繁瑣,而且容易出錯,不符合程序員的思維——能用代碼自動完成的,就不手工去做。雖然編寫代碼需要時間,但是後期使用就很方便,就像我常說的磨刀不誤砍柴工。

所以就想着去找一個直接通過代碼,根據項目配置信息如表結構、字段等信息能自動生成常見的增刪查改等通用功能的已有解決方案,無意間瞭解到JEECG-BOOT,使用下來還是非常符合我預期的目標的。

以下一些特性是也是我之前項目裏經常用到的,在JEECG-BOOT裏都有提供:

  • 項目是基於Spring boot,這樣直接在IDE中運行main,可以打包生成JAR包,部署的時候不需要額外安裝配置如Tomcat等Servlet應用服務器。
  • 項目是前後端分離的,後端只負責提供跨域的基於JWTREST風格的API,前端是基於ReactVue等現代前端框架,方便開發和維護。JEECG-BOOT目前使用的是vue
  • 前端的UI框架選擇的是我比較喜歡的antd,之前用過它的React版本,還是很方便,界面簡潔大氣,優雅美觀。

下面一些特性是JEECG-BOOT自帶的比較有特色的內容:

  • 支持根據已經設計好的表結構,快速生成前後端代碼,當然也要符合JEECG-BOOT的一些要求,例如主鍵字段名稱、類型,一些額外的輔助字段。
  • 新版本中在上面的基礎上提供在線開發,這個功能還是比較實用的,這樣就不需要我們先設計生成表結構了,可以一上手就填寫字段信息,設置字段在前端頁面上顯示控件是例如文本框、下拉選擇框又或者是時間日期選擇框等,功能豐富的搜索也可以設置,支持單表、一對多,這些都是非常非常方便的,可以少寫很多自己之前寫過的重複性的代碼。
  • 前端生成的代碼也使用Vue裏面的Mixins,把相似的功能封裝成可複用的組件,這樣生成的ListModal組件裏面的內容相對來說也簡潔清爽,也不失定製可擴展性。
  • 支持比較完善的基於角色的權限管理,這個在JEECG-BOOT裏面也支持的比較好,結合v-has@RequiresPermissions可支持真實的動態權限管理,之前自己寫的小項目,一般都是自己用或者提供給少數對技術不是很懂的人,就只是在前端層面控制一些功能的顯示或隱藏了。
  • 其他一些特性例如消息中心(支持短信、郵件、微信推送等等)、系統監控,實時跟蹤系統運行情況等特色功能也是錦上添花的功能點,雖然我自己用不到,但是在其他一些後臺管理系統中也還是非常實用的。

其實上面我列舉的這些功能點都是從我自己使用角度簡單總結的,實際上從項目的README中可以看到很多其他通用而且使用的特性,當然也有功能強大的在線開發功能,不過目前開源版本的在線開發功能有所限制,但對於一般項目而言其實也夠用了,詳情可以參考 https://github.com/zhangdaisc... ,我這裏就不復制引用了。

下面再說一些自己在使用過程中遇到的問題或者說坑:

  • 數據庫設置,在項目中有兩個數據庫配置文件,分別是jeecg-boot\jeecg-boot-module-system\src\main\resources\application-dev.ymljeecg-boot\jeecg-boot-module-system\src\main\resources\jeecg\jeecg_database.properties,前面一個是項目運行時候的數據源,後面一個是JEECG代碼生成器相關的數據源,可參考 http://idoc.jeecg.com/1275928 ,我一般爲了簡化及方便管理這兩個都設置成一樣的。
  • 前端安裝依賴包的時候最好先設置一下npm的源,用taobao的或者cnpm的,建議全局安裝nrm,由nrm來管理源,另外依賴項使用yarn安裝會比較好一些,不容易出錯,而且速度快,如果npm下安裝的依賴項運行啓動的時候報錯可以嘗試把node_modules刪掉,然後使用yarn重新安裝。
  • 如果登錄的時候提示登錄失敗,數據庫連接本身有沒有問題,那可能就是redis忘記啓動了,redis不需要做任何配置,默認監聽127.0.0.1的默認端口就行。

-JEECG-BOOT2.x版本開始後端代碼採用多模塊方式,建議自己寫的模塊使用單獨的一個模塊,不要放到jeecg-boot-module-system中,這樣不會混淆框架代碼和自己應用層面的代碼,也便於升級、維護。

  • 前後端使用的框架或類庫都比較多,建議前期遇到問題的時候再仔細查看相關官方文檔,多嘗試自己分析解決,這樣對自己能力也會有所提升,有時候可能就只是自己的配置疏忽又或者確實是一個bug。

-IDE方面我自己是使用VSCode,打開一個VSCode窗口,在內置終端中yarn serve運行前端,調試模式下運行後端,這樣不用來回切換,比較高效一些,相比其他同時打開多個IDE來說,不會卡頓,個人推薦。切記需要安裝lombok擴展。調試或運行模式時如果修改的內容較少,例如修改一個方法裏面的實現,可以使用熱加載更新,這樣就不用每次都重啓後端。

遇到問題,可以嘗試着仔細看一下錯誤堆棧信息,不要害怕和擔心那些需要翻頁和一行上非常長的錯誤信息,有時候可以根據錯誤信息就知道什麼地方出錯了;其次還要多會用、善用搜索引擎,推薦谷歌,如果訪問不了,可以用Bing,用百度搜索出來的結果個人感覺較差。

最後提供幾個在寫代碼過程中會來回翻閱的文檔,如果可以的話,儘量看官方的,英文原生的,有些文檔沒有中文版或者中文版的比較陳舊,翻譯質量較差,很多內容都匹配不上。

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