major update
[重大更新] The main business of the framework and the code generator complete the oracle postgres multi-database type support (middleware does not support it)
[重大更新] Use the spring event publishing mechanism to reconstruct the login log and operation log to support multi-event monitoring without intrusion extension
For example: You can add a listener to upload logs to storage such as ES, which has no effect on the original logic
Dependency Upgrade
update springboot 2.7.6 => 2.7.7
update springboot-admin 2.7.7 => 2.7.10
update dubbo 3.1.3 => 3.1.4
update seata 1.5.2 => 1.6.1 adaptation upgrade
update nacos 2.1.2 => 2.2.0 adaptation upgrade
update mybatis-plus 3.5.2 => 3.5.3.1
update sa-token 1.33.0 => 1.34.0
update springdoc 1.6.13 => 1.6.14
update snakeyaml 1.32 => 1.33
update easyexcel 3.1.3 => 3.1.5
update redisson 3.18.0 => 3.19.1
update easy-es 1.1.0 => 1.1.1
update hutool 5.8.10 => 5.8.11
update aws-s3 1.12.349 => 1.12.373
update aliyun-sms 2.0.22 => 2.0.23
update tencent-sms 3.1.635 => 3.1.660
update echarts 4.9.0 => 5.4.0
feature update
update Optimize BaseMapperPlus Use MP V3.5.3 new tool class Db to simplify batch operation implementation
update optimize demo service filter health check sql print
update optimizes code generation to use the same primary key generator as the framework body to avoid problems globally
update Optimize system login Use single table query to verify users to avoid multiple join queries
update optimizes the adaptation framework and supports multiple databases to complete oracle postgres database adaptation (reason for abandoning sqlserver adaptation: basic middleware does not support it)
update optimizes and deletes useless data in the main sql
update optimizes and deletes useless parameters of vue3 templates
update optimizes and refactors ExcelUtil’s full export method to support OutputStream stream export is not limited to response
update optimizes the maven address and switches back to the aliyun warehouse
update Optimize the springdoc configuration authentication header hard-coded problem Add persistent authentication header configuration
update optimizes the actuator dependency and integrates it into the common-web module
update optimizes the captcha results to be automatically calculated using the spel engine
update optimize data permission processor variable naming error
update optimizes and removes useless inheritance of RedisUtils
update Optimize the problem of too much pop-up content and incomplete display
update optimize delete fuse invalid option maxPatternLength
update optimize minio installation warning use new version parameters
update optimizes the use of spring event release mechanism to reconstruct login log and operation log
update optimizes using the spring event mechanism to refactor OssConfig cache updates
update optimizes cell merging to determine whether cellValue is equal
update Optimize and adjust the execution order of gateway interceptors Prioritize xss filtering and then cache processing
new function
add Add GET request submission date parameter default formatting configuration
add Add RedisUtils method to check whether the cache object exists
add Add oracle postgres docker orchestration
add New code generator adapts to multiple databases and can switch to generate code
add Add oracle postgres database framework sql script
add Add DataBaseHelper database assistant for adapting to multi-type databases
add Add BeanCopyUtils#mapToMap method
bug fix
fix Fix the problem that the verification code switch on the registration page does not take effect
fix Fix the inconsistency between the new version dubbo-filter-seata plug-in kernel and seata (temporary)
fix Fix the problem of reporting null according to the key update parameter configuration
fix Fix user registration user type field writing error
fix Fixed the problem that the required fields cannot be verified when the code generates pictures/files/single selection
fix The expired cache configuration is not removed when modifying the parameter key name
fix Fix the problem of Intranet authentication Filter priority that causes websocket connection failure
fix Fix the problem that the gateway flow control rules take effect but do not display
fix Fix the compatibility problem with boot 2.X in the new version of Redisson
The 1.X version will stop maintenance together with SpringBoot 2.X (probably around December 2023)
springboot upgrade to 3.0
springcloud upgrade to 2022
springcloud alibaba upgrade to 2022
javax is replaced by jakarta
springdoc upgrade to 2.X
hutool upgrade to 6.X
mybatis-plus upgrade to 4.X
The docker base image is upgraded to java 17
Adapt to the new syntax of java 17
Use the maven plugin to unify the framework version number
The table structure creator and modifier fields are stored using ID
The table structure is added to create a department field
Increase the automatic echo of the creator and modifier ID (can be cached)
Simple multi-tenancy function (to lay the foundation for users to expand by themselves)
~~ to be added
Platform introduction
RuoYi-Cloud-Plus
微服务通用权限管理系统
Rewrite RuoYi-Cloud all-round upgrade (not compatible with the original framework)
The project code and documents are open source, free and commercially available. Follow the open source agreement and keep the open source agreement file in the project.
Live and write until old Open source for interest Open source for learning Open source for everyone to really learn technology
Features | use technology | document address |
---|---|---|
current frame | RuoYi-Vue-Plus | Rewrite RuoYi-Vue all-round upgrade (not compatible with the original framework) |
microservice branch | RuoYi-Cloud-Plus | Rewrite RuoYi-Cloud all-round upgrade (not compatible with the original framework) |
single branch | RuoYi-Vue-Plus-fast | Monolithic Application Structure |
Vue3 branch | RuoYi-Vue-Plus-UI | Since the components are not yet perfect, it is only for learning |
original frame | RuoYi-Vue | Required features for regular sync |
Front-end development framework | Vue, Element UI | |
Backend Development Framework | Spring Boot | |
container framework | Undertow | XNIO-based high-performance container |
Authority Authentication Framework | Sa-Token, Jwt | Strong decoupling and strong expansion |
relational database | MySQL | Adapt to 8.X minimum 5.7 |
relational database | Oracle | Compatible with 11g 12c |
relational database | PostgreSQL | Adaptation 13 14 |
relational database | SQL Server | Adaptation 2017 2019 |
cache database | redis | Adapt to 6.X minimum 4.X |
database framework | Mybatis-Plus | Fast CRUD increases development efficiency |
database framework | p6spy | Stronger SQL Analysis |
Multiple Data Source Framework | dynamic-datasource | Support master-slave and multi-type database heterogeneity |
serialization framework | Jackson | Unified use of jackson is efficient and reliable |
Redis client | Redisson | Support stand-alone and cluster configuration |
Distributed current limiting | Redisson | Global, request IP, cluster ID multiple current limiting |
distributed queue | Redisson | Ordinary queue, delay queue, priority queue, etc. |
distributed lock | Lock4j | There are many kinds of note locks and tool locks |
distributed idempotence | Redisson | Intercept duplicate submissions |
Distributed Link Tracking | Apache SkyWalking | Link tracing, grid analysis, metric aggregation, visualization |
Distributed Task Scheduling | Xxl-Job | High performance, high reliability and easy expansion |
file storage | Minio | local storage |
file storage | Qiniu, Ali, Tencent | cloud storage |
SMS module | Ali, Tencent | send a text message |
monitoring framework | Spring Boot-Admin | Full Service Monitoring |
Validation framework | Validation | Enhance interface security and rigor to support internationalization |
Excel frame | Alibaba EasyExcel | Excellent performance and strong scalability |
document frame | SpringDoc, javadoc | No annotations, zero intrusion, based on java annotations |
Tool Framework | Hutool, Lombok | Reduce code redundancy and increase security |
Code generator | Adapt to MP, SpringDoc standardization code | One-click generation of front-end and back-end codes |
Deployment method | Docker | One-click deployment of business clusters by container orchestration |
globalization | SpringMessage | Spring Standard Internationalization Solution |
Business functions
Features | introduce |
---|---|
User Management | The user is the system operator, and this function mainly completes the system user configuration. |
department management | Configure the system organization (company, department, group), and the tree structure display supports data permissions. |
job management | Configure the position that the system user belongs to. |
menu management | Configure the system menu, operation authority, button authority identification, etc. |
role management | Role menu permission assignment and setting roles are divided into data scope permissions according to the organization. |
dictionary management | Maintain some relatively fixed data frequently used in the system. |
Parameter management | Dynamically configure common parameters for the system. |
announcement | System notification announcement information release and maintenance. |
operation log | System normal operation log record and query; system abnormal information log record and query. |
login log | A system login logging query contains a login exception. |
file management | System file upload, download and other management. |
timed task | Online (add, modify, delete) task scheduling includes execution result logs. |
code generation | The generation of front-end and back-end codes (java, html, xml, sql) supports CRUD download. |
system interface | Automatically generate relevant API interface documents based on business codes. |
service monitoring | Monitor cluster system CPU, memory, disk, stack, online log, Spring related configuration, etc. |
cache monitoring | Query system cache information, command statistics, etc. |
online builder | Drag form elements to generate corresponding HTML code. |
Connection pool monitoring | Monitor the current system database connection pool status, and analyze SQL to find out system performance bottlenecks. |
Use Cases | Some functional examples of the system |
#RuoYiCloudPlus #Spring #Edition #released #multidatabase #support #update #plan #News Fast Delivery