iBase4J项目简介
- iBase4J是Java语言的分布式系统架构。 使用Spring整合开源框架。
- 使用Maven对项目进行模块化管理,提高项目的易开发性、扩展性。
- 系统包括5个子系统:公共功能、系统管理Service、系统管理Web、业务Service、业务Web。
- 公共功能:公共功能(AOP、缓存、基类、调度等等)、公共配置、工具类。
- 系统管理:包括用户管理、权限管理、数据字典、系统参数管理等等。
- 业务相关:您的业务开发。
- 可以无限的扩展子系统,子系统之间使用Dubbo或MQ进行通信。
主要功能
- 数据库:Druid数据库连接池,监控数据库访问性能,统计SQL的执行性能。 数据库密码加密,加密方式请查看PropertiesUtil,decryptProperties属性配置需要解密的key。
- 持久层:mybatis持久化,使用MyBatis-Plus优化,减少sql开发量;aop切换数据库实现读写分离。Transtraction注解事务。
- MVC: 基于spring mvc注解,Rest风格Controller。Exception统一管理。
- 调度:Spring+quartz, 可以查询、修改周期、暂停、删除、新增、立即执行,查询执行记录等。
- 基于session的国际化提示信息,职责链模式的本地语言拦截器,Shiro登录、URL权限管理。会话管理,强制结束会话。
- 缓存和Session:注解redis缓存数据;shiro实现redis分布式session同步,重启服务会话不丢失。
- 多系统交互:Dubbo,ActiveMQ多系统交互,ftp/sftp/fastdafs发送文件到独立服务器,使文件服务分离。
- 前后端分离:没有权限的文件只用nginx代理即可。
- 日志:log4j2打印日志,业务日志和调试日志分开打印。同时基于时间和文件大小分割日志文件。
- QQ、微信、新浪微博第三方登录。
- 工具类:excel导入导出,汉字转拼音,身份证号码验证,数字转大写人民币,FTP/SFTP/fastDFS上传下载,发送邮件,redis缓存,加密等等。
技术选型
● 核心框架:Spring Framework 4.3.0 + Dubbo 2.5.3
● 安全框架:Apache Shiro 1.2
● 任务调度:Spring + Quartz
● 持久层框架:MyBatis 3.4 + MyBatis-Plus 2.0
● 数据库连接池:Alibaba Druid 1.0
● 缓存框架:Redis
● 会话管理:Spring-Session 1.3.0
● 日志管理:SLF4J、Log4j2
● 前端框架:Angular JS + Bootstrap + Jquery
启动说明
* 项目依赖activemq、Redis和ZooKeeper服务。
* 使用nginx代理UI:修改配置里的UI目录后重启nginx。
* 启动命令:
clean package -P build tomcat7:run-war -f pom-sys-service-server.xml
clean package -P build tomcat7:run-war -f pom-sys-web-server.xml
* 打包命令:
clean package -P build -f pom-sys-service-server.xml
clean package -P build -f pom-sys-service-server.xml
* 生产环境打包命令:
clean package -P product -f pom-sys-service-server.xml
clean package -P product -f pom-sys-service-server.xml
版权声明
iBase4J使用 Apache License 2.0 协议.
分支说明
NoSplit 未拆分版本.
idubbo 原始dubbo接口版本,支持事务不支持分布式事务;
springBoot 去xml版本;
master是最新版本,统一dubbo服务接口,一个模块只对外提供一个接口。
docker待开发。
538240548
加入QQ群交流技术问题,下载项目文档和一键启动依赖服务工具。
UI效果图
##==可购买完整版UI(iBase4J-UI-DataTables/iBase4J-UI-AdminLTE)
License
iBase4J is released under version 2.0 of the Apache License.