自己搭的springBoot多模塊項目

項目下載地址:

https://gitee.com/smallGourd/gourd-hu

項目結構截圖:

#### 項目介紹

本項目主要以spring cloud alibaba組件整合一些常用框架來搭建一個簡單易用的項目。 

組件模塊:  
---------------------------------------
需要哪個組件功能,只需要增加配置和依賴jar包即可;    

gourd-base:基礎模塊,項目所需的基礎依賴、公共配置、及工具類等。    
    新建一個項目,只需要maven依賴此jar包,就可以啓動一個完整項目。    
gourd-rbac:權限用戶模塊,用戶管理,權限分配等;    
gourd-file: 文件基礎模塊,包括文件上傳、下載、預覽,Excel導入導出等。    
gourd-notice:通訊模塊,包括郵件、短信、websocket等。  
gourd-quartz:quartz動態定時任務,並持久化到數據庫。    
gourd-activiti:工作流及請假demo。  
gourd-boot-admin: springboot admin監控臺,並增加郵件通知功能;    
gourd-generator: mybatisPlus的代碼生成工具;   
gourd-rocketMq: 消息的發送和消費;  
gourd-es: elasticSearch搜索引擎;   
gourd-cache:緩存模塊,redis、redisson分佈式鎖、springcache註解式緩存; 

項目模塊:  
----------------------------------------
gourd-service-hu:主項目,一個完整的springboot項目。  
    架構:springboot + springCloud + mybatisPlus(持久層) + mysql(數據庫) + 
    nacos(註冊中心、配置中心) + feign(遠程調用)+ ribbon(負載) +sentinel(流控、熔斷) 
    + redis(緩存) + redisson(分佈式鎖) + seata(分佈式事務)   
       
gourd-service-sub: 輔助項目,簡單的springboot項目,用於測試分佈式服務調用和分佈式事務等。    

#### 集成功能:  
**核心功能:**  
1.springSecurity+jwt-token:   
    用戶管理、權限驗證、使用jwt-token作爲用戶身份Id。
    支持承租人模式。 登錄賬號密碼: admin@gourd   123456   
2.mysql數據庫:  
    動態多數據源( 如果只有一個數據庫,master和slave配置成一樣即可);  
    數據庫連接密碼加密;  
3.Cache:  
    redis工具類;  
    spring Cache; 功能測試:CloudTestController-> /test/cache               
    redisson分佈式鎖; 測試接口:CloudTestController -> /test/lock    
4.seata:
    分佈式事務,功能測試:CloudTestController -> /test/seata-tx   
5.quartz定時任務:  
    業務代碼動態增加定時任務; 功能測試:QuartzController    
    持久化到數據庫;  
6.springCloud分佈式:  
    註冊發現中心:Nacos;  
    feignClient遠程調用; 功能測試:CloudTestController    
    ribbon:負載均衡  
7.Nacos:
    配置中心,日誌等級熱更新;  
    功能測試:CloudTestController -> /test/nacos         
8.sentinel:  
    接口限流、降級、系統保護、熱點數據限流、權限設置等;  
    規則持久化到Nacos;  
9.通訊:  
    aliyun短信通知; 功能測試:NoticeTestController-> /notice/msg     
    文本、附件、模板郵件通知; 功能測試:NoticeTestController     
    netty-websocket實時消息; 功能測試:http://localhost:8088/hu/websocket.html   
10.文件:
    openoffice在線預覽文件;功能測試:FileConvertController     
    easyexcel實現Excel文件導入導出; 功能測試:EasyExcelController  
    fastDfs文件上傳、下載; 功能測試:FileController   
11.activiti:工作流,及請假流程demo 
   功能測試: ActivitiController  
12.p6spy sql日誌打印,打印sql耗時、替換參數後的sql。  
13.jasypt文本加解密,可用於數據庫密碼、redis密碼、郵箱密碼等加密;  
    密文生成:https://blog.csdn.net/HXNLYW/article/details/98635913  
14.圖形驗證碼生成校驗
   功能測試地址:http://localhost:8088/hu/kaptcha.html  
15.rocketMq:
    消息發送和消費
16.async:  
    支持@Async註解異步方法;  
    異步線程池直接使用。
    功能測試:CloudTestController->/test/async-task  
17. elasticSearch:  
    分佈式、RESTful 風格的搜索和數據分析引擎;  
    功能測試:UserEsController;  
18. FlyingSaucer+thymeleaf實現動態模板文件轉pdf打印;  
    功能測試:PdfController;  
19.工具類:  
      1)地址ip獲取工具(AddressUtil);  
      2)日期處理工具(DateUtil);  
      3)分佈式全局唯一訂單號生成、分佈式全局唯一主鍵id生成工具(OrderNumberUtil、IdGeneratorUtil);  
      4)md5加密工具、AES加解密工具(Md5Util、AesHopeUtil);  
      5)漢字拼音生成工具(Pinyin4jUtil);   
      6)銘感詞脫敏工具(SensitiveInfoUtil); 
      7)集合轉換複製工具(CollectionUtil);  
      8)redis操作工具類、redisson鎖工具類(RedisUtil、RedisLockUtil);  
      9)RestTemplate遠程調用工具了(RestTemplateUtil);  
      
20.其他功能:  
    1)統一異常處理,自定義業務異常;    
    2)spring-retry接口重試,自定義接口重試次數、間隔、和重試的異常;     
    3)AOP接口防重複提交,唯一條件:指定時間內,用戶id+請求url+參數 控制唯一性;    
    4)接口訪問日誌記錄,記錄請求地址、參數、返回、異常及接口耗時等並持久化到數據庫;默認30天過期刪除  ;  
    5)實體類公共字段填充:is_deleted,version,created_by,created_time,updated_by,updated_time  ;  
    6)實體類Id自動填充;  
          
**輔助功能:**  
1.swagger:   
    接口文檔、接口調試;  
    本地地址:http://localhost:8088/hu/swagger-ui.html#  
    線上地址:http://47.103.5.190:8088/hu/swagger-ui.html#/
2.flyway:  
    數據庫腳本自動執行,只需要將sql腳本放在 /db目錄下,項目啓動就會自動執行腳本。  
3.generator:  
    mybatisPlus自動生成基礎代碼  
4.druid監控:  
    本地地址:http://localhost:8088/hu/druid/login.html 賬號密碼:admin  
    線上地址:http://47.103.5.190:8088/hu/druid/login.html 賬號密碼:admin
5. springboot admin監控:  
    springboot應用監控,線程、內存、垃圾回收、配置等監控;  
    訪問地址:http://localhost:8769  

#### 作者

名字:gourd.hu

郵箱:[email protected]

博客:https://blog.csdn.net/HXNLYW

微信號:13584278267 (歡迎諮詢) 

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