iBase4J 源码地址:https://git.oschina.net/iBase4J/iBase4J
iBas4J 项目简介
- iBase4J 是 Java 语言的分布式系统架构。 使用 Spring 整合开源框架。
- 使用 Maven 对项目进行模块化管理,提高项目的易开发性、扩展性。
- 系统包括三个模块:公共模块、系统管理模块、Web 展示模块。
- 公共模块:公共功能(AOP、缓存、基类、调度等等)、公共配置、工具类。
- 系统管理模块:包括用户管理、权限管理、数据字典、系统参数管理等等。
- 每个模块都是独立的系统,可以无限的扩展模块,模块之间使用 Dubbo 或 MQ 进行通信。
- 每个模块服务多系统部署,注册到同一个 Zookeeper 集群服务注册中心,实现集群部署。
主要功能
- 数据库:Druid 数据库连接池,监控数据库访问性能,统计 SQL 的执行性能。 数据库密码加密,加密方式请查看 PropertiesUtil,decryptProperties 属性配置需要解密的 key。
- 持久层:mybatis 持久化,使用 MyBatis-Plus 优化,减少 sql 开发量;aop 切换数据库实现读写分离。Transtraction 注解事务。
- MVC: 基于 spring mvc 注解,Rest 风格 Controller。Exception 统一管理。
- 调度:Spring+quartz, 可以查询、修改周期、暂停、删除、新增、立即执行,查询执行记录等。
- 基于 session 的国际化提示信息,职责链模式的本地语言拦截器,Shiro 登录、URL 权限管理。会话管理,强制结束会话。
- 缓存和 Session:注解 redis 缓存数据,Spring-session 和 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.2
- 日志管理:SLF4J、Log4j2
- 前端框架:Angular JS + Bootstrap + Jquary
启动说明
- 项目依赖 activemq、Redis 和 ZooKeeper 服务。
- 启动 SYS-Service 命令:clean package -P build tomcat7:run-war-only -f pom-sys-server.xml
- 启动 Web 命令:clean package -P build tomcat7:run-war-only -f pom-web-server.xml
- 使用 nginx 代理 UI:修改配置里的 UI 目录后重启 nginx。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于