iBase4J分布式系統(tǒng)
Spring boot,Spring,SpringMVC,Mybatis,mybatis-plus,motan/dubbo分布式,Redis緩存,Shiro權(quán)限管理,Spring-Session單點(diǎn)登錄,Quartz分布式集群調(diào)度,Restful服務(wù),QQ/微信登錄,App token登錄,微信/支付寶支付;日期轉(zhuǎn)換、數(shù)據(jù)類型轉(zhuǎn)換、序列化、漢字轉(zhuǎn)拼音、身份證號(hào)碼驗(yàn)證、數(shù)字轉(zhuǎn)人民幣、發(fā)送短信、發(fā)送郵件、加密解密、圖片處理、excel導(dǎo)入導(dǎo)出、FTP/SFTP/fastDFS上傳下載、二維碼、XML讀寫、高精度計(jì)算、系統(tǒng)配置工具類等等。
iBase4J項(xiàng)目簡(jiǎn)介
-
iBase4J是Java語言的分布式系統(tǒng)架構(gòu)。 使用Spring整合開源框架。
-
使用Maven對(duì)項(xiàng)目進(jìn)行模塊化管理,提高項(xiàng)目的易開發(fā)性、擴(kuò)展性。
-
系統(tǒng)包括5個(gè)子系統(tǒng):公共功能、系統(tǒng)管理Service、系統(tǒng)管理Web、業(yè)務(wù)Service、業(yè)務(wù)Web。
-
公共功能:公共功能(AOP、緩存、基類、調(diào)度等等)、公共配置、工具類。
-
系統(tǒng)管理:包括用戶管理、權(quán)限管理、數(shù)據(jù)字典、系統(tǒng)參數(shù)管理等等。
-
業(yè)務(wù)相關(guān):您的業(yè)務(wù)開發(fā)。
-
可以無限的擴(kuò)展子系統(tǒng),子系統(tǒng)之間使用Dubbo或MQ進(jìn)行通信。
主要功能
-
數(shù)據(jù)庫(kù):Druid數(shù)據(jù)庫(kù)連接池,監(jiān)控?cái)?shù)據(jù)庫(kù)訪問性能,統(tǒng)計(jì)SQL的執(zhí)行性能。 數(shù)據(jù)庫(kù)密碼加密,加密方式請(qǐng)查看PropertiesUtil,decryptProperties屬性配置需要解密的key。
-
持久層:mybatis持久化,使用MyBatis-Plus優(yōu)化,減少sql開發(fā)量;aop切換數(shù)據(jù)庫(kù)實(shí)現(xiàn)讀寫分離。Transtraction注解事務(wù)。
-
MVC: 基于spring mvc注解,Rest風(fēng)格Controller。Exception統(tǒng)一管理。
-
調(diào)度:Spring+quartz, 可以查詢、修改周期、暫停、刪除、新增、立即執(zhí)行,查詢執(zhí)行記錄等。
-
基于session的國(guó)際化提示信息,職責(zé)鏈模式的本地語言攔截器,Shiro登錄、URL權(quán)限管理。會(huì)話管理,強(qiáng)制結(jié)束會(huì)話。
-
緩存和Session:注解redis緩存數(shù)據(jù),Spring-session和redis實(shí)現(xiàn)分布式session同步,重啟服務(wù)會(huì)話不丟失。
-
多系統(tǒng)交互:Dubbo,ActiveMQ多系統(tǒng)交互,ftp/sftp/fastdafs發(fā)送文件到獨(dú)立服務(wù)器,使文件服務(wù)分離。
-
前后端分離:沒有權(quán)限的文件只用nginx代理即可。
-
日志:log4j2打印日志,業(yè)務(wù)日志和調(diào)試日志分開打印。同時(shí)基于時(shí)間和文件大小分割日志文件。
-
QQ、微信、新浪微博第三方登錄。
-
工具類:excel導(dǎo)入導(dǎo)出,漢字轉(zhuǎn)拼音,身份證號(hào)碼驗(yàn)證,數(shù)字轉(zhuǎn)大寫人民幣,F(xiàn)TP/SFTP/fastDFS上傳下載,發(fā)送郵件,redis緩存,加密等等。
技術(shù)選型
-
● 核心框架:Spring Framework 4.3.0 + Dubbo 2.5.3 + motan 0.3.1 ● 安全框架:Apache Shiro 1.2 ● 任務(wù)調(diào)度:Spring + Quartz ● 持久層框架:MyBatis 3.4 + MyBatis-Plus 2.0 ● 數(shù)據(jù)庫(kù)連接池:Alibaba Druid 1.0 ● 緩存框架:Redis ● 會(huì)話管理:Spring-Session 1.3.0 ● 日志管理:SLF4J、Log4j2 ● 前端框架:Angular JS + Bootstrap + Jquery
License
iBase4J is released under version 2.0 of the Apache License.
github項(xiàng)目地址:https://github.com/iBase4J/iBase4J
SpringBoot版本:https://gitee.com/iBase4J/iBase4J-SpringBoot
未拆分版本(非分布式)下載地址:https://git.oschina.net/iBase4J/iBase4J/tree/NoSplit
