major update
[重大更新] 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 mybatis-plus 3.5.2 => 3.5.3.1
update redisson 3.18.0 => 3.19.1
update sa-token 1.33.0 => 1.34.0
update easyexcel 3.1.3 => 3.1.5
update springdoc 1.6.13 => 1.6.14
update snakeyaml 1.32 => 1.33
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
update vue3 element-plus 2.2.21 => 2.2.27
feature update
update Optimize BaseMapperPlus Use MP V3.5.3 new tool class Db to simplify batch operation implementation
update optimizes the environment configuration above the pom file for easy viewing and use
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 and deletes useless parameters of vue3 templates
update optimize xss wrapper variable naming error
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 optimizes and removes useless guava dependency management project no longer has this dependency
update Optimize the springdoc configuration authentication header hard-coded problem Add persistent authentication header configuration
update optimizes the captcha results to be automatically calculated using the spel engine
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 using the spring event mechanism to refactor OssConfig cache updates
update Optimize the extraction of SysLoginService recordLogininfor record login information method to simplify logging
update optimizes the use of spring event release mechanism to reconstruct login log and operation log
update optimizes cell merging to determine whether cellValue is equal or not
update optimizes and removes useless inheritance of RedisConfig
new features
bug fix
fix Fix the problem of reporting null according to the key update parameter configuration
fix The tree dropdown cannot be selected by default
fix Fix the problem of reading generator.yml Chinese garbled characters
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 user registration user type field writing error
fix Fixed the problem that files with special characters (+, -, *…) could not be downloaded
fix Fix SMS verification template parameter passing error
fix Fix the problem that the parameters defined by the vue3 closeSidebar method are not deconstructed
The 4.X version and the fast version will stop maintenance together with SpringBoot 2.X (probably around December 2023)
springboot upgrade to 3.0
javax is replaced by jakarta
Change the project structure (refer to Cloud version plug-in)
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-Vue-Plus is a rewrite of RuoYi-Vue for
分布式集群
All-round upgrade of the scene (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 | Feature Notes |
---|---|---|
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 |
reference documents
Please read the key points of the document carefully before using the framework
Initialization project must see
https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/pages?sort_id=4164117&doc_id=1469725
Must-see columns and videos for getting started
https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/pages?sort_id=5473272&doc_id=1469725
Deployment project must see
https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/pages?sort_id=4219382&doc_id=1469725
Reference Documentation Wiki
https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/pages
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. |
Post 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 that are often 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 |
#RuoYiVuePlus #Spring #Edition #released #including #update #plan #News Fast Delivery