iBase4J project introduction
- iBase4J is a distributed system architecture of Java language. Use Spring to integrate open source frameworks.
- Use Maven to implement modular management of the project to improve the ease of development and scalability of the project.
- The system includes 4 subsystems: System Management Service, System Management Web, Business Service, and Business Web.
- System management: including user management, authority management, data dictionary, system parameter management, etc.
- Business related: Your business development.
- Subsystems can be expanded infinitely, and Dubbo or MQ is used to communicate between subsystems.
Main functions
- Database: Druid database connection pool, monitors database access performance, and counts SQL execution performance. Database password encryption, please see PropertiesUtil for the encryption method. The decryptProperties property configures the key that needs to be decrypted.
- Persistence layer: mybatis persistence, using MyBatis-Plus optimization to reduce the amount of SQL development; aop switching database to achieve read-write separation. Transtraction annotation transaction.
- MVC: Based on spring mvc annotations, Rest style Controller. Exception unified management.
- Scheduling: Spring+quartz, you can query, modify cycles, pause, delete, add, execute immediately, query execution records, etc.
- Session-based international prompt information, local language interceptor in chain of responsibility mode, Shiro login, and URL permission management. Session management, force the session to end.
- Cache and Session: Annotate redis cache data; shiro realizes redis distributed session synchronization, and restarts the service session without losing it.
- Multi-system interaction: Dubbo, ActiveMQ multi-system interaction, ftp/sftp/fastdafs send files to independent servers to separate file services.
- Separation of front-end and back-end: files without permissions can only use nginx proxy.
- Log: log4j2 prints logs, business logs and debugging logs are printed separately. Also split log files based on time and file size.
- QQ, WeChat, Sina Weibo third-party login.
- Tool categories: excel import and export, convert Chinese characters to pinyin, ID number verification, convert numbers to uppercase RMB, FTP/SFTP/fastDFS upload and download, send emails, redis cache, encryption, etc.
Technology selection
● 核心框架: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
Startup instructions
* 项目依赖activemq、Redis和ZooKeeper服务。
* 使用nginx代理UI:修改配置里的UI目录后重启nginx。
* 启动方法:
SysServiceApplication.java
SysWebApplication.java
* 测试环境打包命令:
clean package -P test
* 生产环境打包命令:
clean package -P product
Copyright statement
iBase4J uses the Apache License 2.0 agreement.
Join QQ group 538240548
Communicate technical issues, download project documents and start dependent service tools with one click.
UI renderings
##== You can purchase the full version of UI (iBase4J-UI-AdminLTE) Customer Service QQ: 2296277393
License
iBase4J is released under version 2.0 of the Apache License.