jeecg-boot學習總結及使用心得

 jeecg-boot學習總結及使用心得

    1.jeecg-boot是一個真正前後端分離的模版項目,便於二次開發,使用的都是較流行的新技術,
    後端技術主要有spring-boot2.x、shiro、Mybatis-plus、redis等;
    前端項目基於node.js、webpack構建,主要技術使用Vue、vuex、axios等
    
    2.作爲模版項目,便於快速二次開發。
    現成基本功能包括用戶管理、角色管理、菜單管理(前端根據角色動態路由)、部門管理、
    數據字典、消息中心、定時任務、及各種豐富的各種前端效果示例及最重要的**代碼生成功能**。
    
    3.全棧開發。以本項目爲基礎開啓全棧開發,對一個想做全棧開發的程序員來說,是個學習基礎。
    但是真正做到全棧,還是有很大的學習成本的。就本人來說,做Java程序開發工作近6年,最主要是做後端開發,
    後端的技術棧涉獵很廣,但是前端僅限於偶爾寫頁面也是用jsp、jquery等。
    新流行的node.js、vue.js沒怎麼用過。所以學習成本較大,最近惡補了vue.js相關基礎知識。
    實話說,vue的組件、路由、數據雙向綁定用起來簡直不要太爽。後端開發人員有精力可以學學。
    
    4.jeecg-boot爲二次開發基礎,適合用戶。
    a.全棧開發人員(適合Java程序員轉全棧); 
    b.團隊有前後端開發人員,但是缺少架構能力;   
    c.前端程序員有node、vue基礎轉全棧(*太難了*)

jeecg-boot 項目中的部分實現細節 (自己記錄,待後續用)


    1. 引入了swagger,另外用了增強UI的組件swagger-bootstrap-ui,使文檔更友好一點兒。另外api接口統一使用token 安全認證,swagger支持在header中設置token。
    #swagger.html#
    2.統一的重複記錄校驗接口 , 傳入表名 , 字段值,字段名 ,ID。org.jeecg.modules.system.controller.DuplicateCheckController#doDuplicateCheck
    
    3.登錄,shiro認證初始化,後端生成token算法(java-jwt) , 前端token存儲 (local-storage),
    
    4.主鍵id 規則 @TableId(type = IdType.ID_WORKER_STR)  private String id;  
    /**
     * 數據庫ID自增
     */
    AUTO(0),
    /**
     * 該類型爲未設置主鍵類型(將跟隨全局)
     */
    NONE(1),
    /**
     * 用戶輸入ID
     * <p>該類型可以通過自己註冊自動填充插件進行填充</p>
     */
    INPUT(2),

    /* 以下3種類型、只有當插入對象ID 爲空,才自動填充。 */
    /**
     * 全局唯一ID (idWorker)
     */
    ID_WORKER(3),
    /**
     * 全局唯一ID (UUID)
     */
    UUID(4),
    /**
     * 字符串全局唯一ID (idWorker 的字符串表示)
     */
    ID_WORKER_STR(5);
    
    5.mybaits plus 簡化sql編寫, (動態sql生成com.baomidou.mybatisplus.core.mapper.BaseMapper,基類service com.baomidou.mybatisplus.extension.service.impl.ServiceImpl)
    
    6.Spring緩存Cacheable使用
    @Cacheable(value = CacheConstant.SYS_DICT_CACHE,key = "#code+':'+#key") 放入緩存
    @Cacheable(cacheNames=CacheConstant.SYS_USERS_CACHE, key="#username")
    @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true) 清除緩存
    
    7.通過後端反饋不同狀態碼,ant-design-vue-jeecg/src/utils/request.js前端以攔截器(service.interceptors.request.use)爲所有請求作出統一的異常響應,500登錄過期,重新跳到登錄;403拒絕訪問
    
    8.ant-design-vue-jeecg/src/permission.js 根據是否存在Vue.ls.get(ACCESS_TOKEN),判斷是否登錄,未登錄跳轉到登錄;未登錄時,允許進入登錄等白名單路由;動態生成路由表
    
    9.前端保存ACCESS_TOKEN到local-storage,store.commit('SET_TOKEN', Vue.ls.get(ACCESS_TOKEN)) 
    
    10.ant-design-vue 常用標籤。<a-table> <a-form> <a-card>

改進建議

1.啓動腳本區分環境


    前端項目運行,在啓動腳本指定環境,可以一次編譯,在不同環境中(dev、sit 、prod)運行,便於環境切換。

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