1. 程式人生 > >iBase4J是Java的分散式系統架構 使用Springboot整合開源框架

iBase4J是Java的分散式系統架構 使用Springboot整合開源框架

iBase4J專案簡介

  • iBase4J是Java語言的分散式系統架構。 使用Spring整合開源框架。
  • 使用Maven對專案進行模組化管理,提高專案的易開發性、擴充套件性。
  • 系統包括4個子系統:系統管理Service、系統管理Web、業務Service、業務Web。
  • 系統管理:包括使用者管理、許可權管理、資料字典、系統引數管理等等。
  • 業務相關:您的業務開發。
  • 可以無限的擴充套件子系統,子系統之間使用Dubbo或MQ進行通訊。

主要功能

  1. 資料庫:Druid資料庫連線池,監控資料庫訪問效能,統計SQL的執行效能。 資料庫密碼加密,加密方式請檢視PropertiesUtil,decryptProperties屬性配置需要解密的key。
  2. 持久層:mybatis持久化,使用MyBatis-Plus優化,減少sql開發量;aop切換資料庫實現讀寫分離。Transtraction註解事務。
  3. MVC: 基於spring mvc註解,Rest風格Controller。Exception統一管理。
  4. 排程:Spring+quartz, 可以查詢、修改週期、暫停、刪除、新增、立即執行,查詢執行記錄等。
  5. 基於session的國際化提示資訊,職責鏈模式的本地語言攔截器,Shiro登入、URL許可權管理。會話管理,強制結束會話。
  6. 快取和Session:註解redis快取資料;shiro實現redis分散式session同步,重啟服務會話不丟失。
  7. 多系統互動:Dubbo,ActiveMQ多系統互動,ftp/sftp/fastdafs傳送檔案到獨立伺服器,使檔案服務分離。
  8. 前後端分離:沒有許可權的檔案只用nginx代理即可。
  9. 日誌:log4j2列印日誌,業務日誌和除錯日誌分開列印。同時基於時間和檔案大小分割日誌檔案。
  10. QQ、微信、新浪微博第三方登入。
  11. 工具類:excel匯入匯出,漢字轉拼音,身份證號碼驗證,數字轉大寫人民幣,FTP/SFTP/fastDFS上傳下載,傳送郵件,redis快取,加密等等。

技術選型

● 核心框架:Sring boot + Spring Framework + Dubbo + ibase4j-common
● 安全框架:Apache Shiro
● 任務排程:Spring + Quartz
● 持久層框架:MyBatis + MyBatis-Plus
● 資料庫連線池:Alibaba Druid
● 快取框架:Redis
● 會話管理:Spring-Session
● 日誌管理:SLF4J、Log4j2
● 前端框架:Angular JS + Bootstrap + Jquery

啟動說明 nainaitea.com

* 專案依賴activemq、Redis和ZooKeeper服務。
* 使用nginx代理UI:修改配置裡的UI目錄後重啟nginx。
* 啟動方法:
	 	SysServiceApplication.java
	 	SysWebApplication.java
* 測試環境打包命令:
	 clean package -P test -f pom-sys-service-server.xml
	 clean package -P test -f pom-sys-web-server.xml
* 生產環境打包命令:
	 clean package -P product -f pom-sys-service-server.xml
	 clean package -P product -f pom-sys-web-server.xml