Project introduction

JeecgBoot is a low code platform based on code generators! The back-end separation architectures springboot2. x, SpringCloud, Ant Design&Vue, Mybatis-plus, Shiro, JWT support microservices. Powerful code generator makes the front and back end code one key generation, low code development! JeecgBoot leads a new low-code development pattern (OnlineCoding-> Code generation -> Manual MERGE) that helps eliminate 70% of the duplication in Java projects and allows development to focus more on the business. It can quickly improve efficiency and save r&d costs, while losing flexibility!

The current version: v2.4 | 2020-12-01

Download the source code

  • Github.com/zhangdaisco…
  • Gitee.com/jeecg/jeecg…

Technical documentation

  • Technical official website: www.jeecg.com
  • Online demo: boot.jeecg.com
  • Technical documentation: doc.jeecg.com
  • Frequently asked Questions: jeecg.com/doc/qa
  • Micro service introduction video: www.bilibili.com/video/BV1sZ…
  • QQ group: ③816531124, ②769925425 (full), ①284271917 (full)

The upgrade log

This version has a great reconstruction, focusing on upgrading the micro-service module, improving all components required by micro-service, and realizing the implementation of micro-service scheme (the new version can be changed into micro-service in a second). The code generator has also been significantly upgraded to be more intelligent; In addition, all background requests are unified prefix, the code reconstruction is large, front-end code directory and startup mode are also greatly modified, so there will be incompatible situation in the upgrade, please note!! Singleton switch to microservice document 2.4+ doc.jeecg.com/2043906

Microservice upgrade
  • Upgrade SpringCloud to version Hoxton.sr8
  • Upgrade SpringCloudAlibaba to version 2.2.3.RELEASE.
  • Provide a simpler microservice and unit switching mechanism, switching in 1 second.
  • Provides various Starter tasks, such as xxl-job distributed scheduled task, Redisson distributed lock, RabbitMQ message queue, and message bus
  • Routing gateway upgrade: support three modes to load routing configuration (YML, NACOS, database)
  • Routing gateway upgrade: Supports global fusing, degrade, and traffic limiting configurations
  • Configuration center upgrade: By default, nacOS is used as the configuration center to simplify configuration
  • Provide service monitoring module
  • Provides microservice sample code modules
  • The route configuration screen is updated to facilitate operation
Code generator upgrade
  • Default value generation is supported
  • Support advanced query generation
  • Disabled state (read-only) generation is supported
  • Support uploading pictures and uploading file control quantity
  • Support form column number setting generation
  • By default, single table, one to many, and tree support the generation of detail pages
  • Online PopUp supports multiple page turns
  • Supports the generation of switch controls
Online Low code upgrade
  • Online Reports support the total function
  • Online reports support multiple table headers
  • Online form export supports advanced query
  • The Online form synchronizes the database and supports database password encryption
  • Online form upload file picture control, support uploading number Settings
  • Popup component, support encoding transfer of dynamic parameters
  • Online form function test, row edit table changed to JVxeTable to improve performance
  • On the Online report configuration screen, switch to JVxeTable to improve performance
  • Online forms restore large component (rich text, MD editor, code editor) support
  • Online forms rely on JS to further compress and become smaller
Platform Architecture Upgrade
  • The front end was modified to multi-environment configuration (boot configuration mode changed)
  • The front-end code directory structure has been adjusted to make the code clearer and easier to understand
  • Knife4j for online Swagger document, more beautiful UI and more powerful
  • Online and platform data sources, passwords support encryption Settings
  • Third-party login reconstruction supports multiple third-party accounts for one user
  • Reconstruct requests. All requests in the System module start with /sys/, and all requests in the Demo module start with /mock
  • Security loopholes in the system framework are strengthened
  • Upgrading underlying dependencies
  • Springboot = > 2.3.5. RELEASE
  • Mybatis – plus 3.3.2 rainfall distribution on 10-12 = > 3.4.1 track
  • Druid 1.1.17 = > 1.1.22
  • JWT 3.7.0 = > 3.11.0
  • Shiro 1.5.3 = > 1.7.0
  • Fastjson 1.2.72 = > 1.2.75
  • Mysql connector – Java 8.0.20 = > 8.0.21
  • Dynamic – the datasource – spring – the boot – starter = > 3.2.0
  • Autopoi = > 1.2.2
Issues to deal with
  • Google Chrome, JEditableTable input checkbox position offset #2005
  • Synchronization database, for some key table names actually did not create successfully #1977
  • Select Department popup box off screen #1995
  • 【BUG】 Jump between two online reports. Error #1822 due to sorting condition not cleared after sorting
  • JEditaTable, the child table adds a data by default, addDefaultRowNum is not valid #1930
  • AutoPOI (Excel tool) generates error #1840 when a certain number of data is less than 2 in needMerge
  • Excel export breakpoint found a date field (XXtime) did not assign value to issues/I249JF
  • Issues /I1YH6B was reported when one-to-many was exported
  • Verification of provincial and urban components mandatory configuration is invalid #1902
  • Long type precision loss issues/I24KXI
  • Online Drop-down box, search only the dictionary code can not search issues/I1WMHB through the dictionary text
  • Component jselect.vue is not the default ID when new content editing issues/I247X2
  • The default value of the control is #{sysUserName}, but the control does not have a default value for issues/I1QEMS during functional testing
  • If the ERP template page times out, you cannot switch to the issues/I1PQ0W login page by clicking Log In again
  • A value cannot be obtained when the default value of a field in a data table is set to #{sysUserName} in online form development. issues/1639
  • Control default #{sysUserName} cannot display issues/1544
  • Online form development, click “Add” button, whether to tree: If yes, the page console displays an error message of issues/I1BHXG
  • The ERP template in 2.2.1 is unavailable
  • Questions about form development and report configuration in online development
  • Bug: invalid Online sorting in version 2.2.1 issues/1450
  • Download the latest open source code, local test, online form development, tick “whether to sort”, page without sorting function issues/I1N6Z1
  • The controller method parameter list contains the HttpServletRequest type parameter. When the execution is complete, error issues/1394 is reported in the log
  • Bug: @autolog automatically reports exception issues/1413 if request parameter has request
  • The primary table was modified because radIS cache was not updated, and the associated data of sub-tables was not updated on issues/1436
  • The login and logout logs do not record personnel issues/I1NBZO
  • Online form development, it is suggested to add time control issues/1362
  • Online Front-end template variable error issues/1470
  • The more fields displayed in the embedded subform, the wider the multiple checkboxes and their serial number will increase
  • Suggestion: Optimize architecture Issues /1377
  • User-defined components. You are advised to query issues/1433 by multiple criteria
  • Popup multiple selection issues/I1OERG
  • Components folder Table showPagination Parameter Issues /1467
  • Rich text component fails when TAB page is switched
  • The sysbaseapipl. addLog command is invoked to record error issues/1472
  • It is recommended that shiro rely on Apach Shiro to disclose its cookie persistence parameter rememberMe encryption algorithm has vulnerabilities issues/1473
  • Apache Shiro permission bypasses issues/1516
  • Suggestion: The /thirdLogin/{source}/callback interface returns failed id issues/1441 when signature verification fails
  • How does the online form specify fields for sorting or whether multiple fields are supported for sorting issues/1411
  • How to modify control length issues/I1P2UM
  • Jeditabletable. vue one of the causes of stuck-up buildPropsissues/1177
  • JEditableTable to bind issues/984
  • In Google Chrome developer mode, click on the screen to debug and the left menu bar collapses, and the collapsed icon fails to issue /1584
  • Front-end issues/1602
  • Vulnerability: Other departments can add administrator role issues/1538
  • Autopoi cannot read the Excel template file issues/1505 after the JAR package is uploaded to the server
  • Issues /1498 cannot be displayed after zooming in the left menu bar window
  • How to modify issues/I1RBGF with custom style in the header of the table and edit table
  • Online – Import database table issues/I1R43G
  • Occasionally, the top navigation fails to display the button sink issues/I1FKIP
  • The side menu response is Bugissues /1619
  • Advanced query constructor condition value is dropdown box and error report issues/1517 when there are too many dropdown items
  • Custom control: J-image-upload issues/I1PRAE
  • Data permission is: personnel from units A to Z can only add, delete, check and modify the data entered by their own units, while superior A from units A to Z can view and modify the data of unit A. Sys_org_code will be updated to the department issues/I1PRTU of the updating person
  • Support for user-defined SQL query conditions whether user query conditions such as #{sys_user_code} match rights data issues/1547
  • When the data permission is set to include and conditions are set to multiple, an error is reported in the SQL statement
  • [Bug] PostgresQL displays deleted user type errors issues/1642
  • The front-end switching label does not save the original status and data issues/1369
  • Export Excel entity reflection, time format conversion error issues/1573
  • Form development page bugIssues /I1RMJA
  • Issues /1640 cannot be updated in the data table after the multi-tenant management is added
  • Form main schedule design Issues /1481
  • Configure the field href, jump to page issues/I1QP0Y
  • Cannot get a text value from a numeric formula cell.issues/I1QDHN
  • How about one-to-many-to-many design for online form development? issues/I1PEB2
  • The login page has an error of issues/993
  • The input parameters issues/1246 of List are not supported in the online document
  • As long as there is a library in the database, it will prompt that the table name already exists issues/I1TWWK
  • The online form development indicates that issues/I1TWOO already exists
  • Online form development, common synchronization error issues/1565
  • Online form development (table name already exists) issues/1665
  • The console error message issues/1577 is displayed after the personal page is opened
  • Issues /I1TAAP
  • The value of eidtTable changed event issues/I1N3H1
  • Version 2.2.1 bug, default topic father-son table generated code, if the first click edit, then click New, new page details will have the previous edit page on the data issues/1454
  • JS enhanced get form field is undefinedissues/1388
  • Table Summing function bugIssues /1399
  • The primary table was modified because radIS cache was not updated, and the associated data of sub-tables was not updated on issues/1436
  • The JSelectBizComponent has bugIssues /1425
  • Online form dropdown select, verify field, dictionary Table write where condition, online test no problem, generate code, SQL injection problems occur
  • JEditableTable style issues/I1LNK6
  • Result.okissues/1487
  • It belongs to multiple departments, and the login page is entered correctly. Click login, and the department selection pops up. If you do not select the department, refresh the web page and enter dashboard issues/1449 directly
  • The level-2 drop-down linkage component displays only one value issues/1652
  • In a multi-tenant environment, tenant idissues/1647 cannot be obtained
  • Freemarkderissues /1610 is recommended for the message template
  • Online Development href Jump to the details page issues/1480 corresponding to the other forms
  • For V2.2.0, if the button type is Danger, the text issues/1286 is not displayed
  • The background indicates a null pointer to issues/I1OAY9
  • Button/Permission Issues /I1OUGU
  • Online configuration menu, how to view operation log issues/I1MQLC
  • JEditableTable style issues/I1LNK6
  • Summarized route error issues/1444
  • Data dictionary entry Redis cache conflict issues/1522
  • DictText name resolution error: the table to resolve is single table (tree) issues/1634
  • PushPlusissues/1611 is recommended
  • How to add the clearing function issues/I1QYF2
  • JeecgBootExceptionHandler cannot catch exceptions AuthenticationExceptiony issues/I17UAS
  • For tomcat deployment projects, issues/I181YO cannot be queried in System Monitoring – Performance Monitoring –
  • Idea Running service, Tomcat monitoring information Session value is 0Issues /I1C44Z
  • JEditableTable help document not updated (formtypes.file) issues/I1OL4S not found
  • Edit table add slot how to do form validation, or FormTypes. Input how to do custom event issues/I1OVFB
  • Online form dropdown select, verify field, dictionary Table write where condition, online test no problem, generate code, SQL injection problems occur
  • Use of editTable Issues /I1M48Q
  • After logging in to the system, if the user does not have permission, will directly enter 404, how to set the default login can only open the home page? issues/I1O6D1
  • Online form development, generate the main schedule, configure menu + AUTO, access (operation) issues/I1PEXA without permission
  • An error was reported when there were multiple table dictionary annotations in the entity, causing translation failure
  • When the AutoPoi table header is exported, a blank column issues/1513 will be displayed
  • Tinymce works properly for the first time, but when the page is switched back, the content is blank and issues/1507 cannot be edited
  • There’s a weird display of issues/1532 at the bottom of the drawer interface
  • Header menu style, top right corner icon color coincides with Issues /I1RJ1Y
  • Popup full screen component Issues /I1TL8O
  • [Bug] In multi-value query not applicable to PostgresQL Issues /1671
  • QueryGenerator. InstallMplus () untreated @ TableField (exist = false) lead to build queries appear the column “XXX” does not existissues / 1680
  • Online Online form development. If you select enable or not in query configuration, the query option issues/1669 in Page Configuration will be deselected
  • Online form development function issues/1654
  • How to display name storage IDissues/1335 for popUP online development
  • Return value: this. $refs. EditableTable. GetValuesSync issues / 1675 ()
  • That. ChangeOptions could not initialize the dropdown data issues/I1TGVX during form initialization
  • JAVA access control unavailable Issues /1740
  • Online form development permission control use error issues/1733
  • The check box for permission Control in online form development does not reflect issues/1741
  • Could not find two configuration files issues/1754 for JeECG-cloud-module under subdirectory config
  • The Online functions related to issues/1760 cannot be used after the microservice is switched
  • User-defined components – User-defined query conditions issues/1718
  • The table structure eoA_mailbox_Infoissues /I1VN0E is missing
  • The exported data is inconsistent with the field control logic of the list
  • Jeecg-cloud-application-bea. yml has configuration duplication issues/1775
  • Does JPopup support dynamic parameters? issues/1772
  • Mybatis-plus IdType configuration issues/1789
  • [PopUP related] How to use issues/1666 in POPUP for reports with dynamic parameters
  • When you enter the login page, the verification code error issues/1714 May occur
  • The two examples under the large screen design do not have styles and JSissues/1799
  • Online form development – Synchronization database exception issues/I1WDT5
  • Select the job name appears to select issues/1753
  • The menu bar lost issues/1763 when the navigation mode was switched. Procedure
  • Caused TableField QueryGenerator. InitQueryWrapper () to generate SQL statements where field without replacement issues / 1750
  • Log in to the small bugIssues /I1XOVS that generated the token
  • Department selection box bugIssues /I1X4DT
  • SYS_USERS_CACHE_JWT Cache issues/I1XOD6 are not updated when the cache user JWT, department or personnel information is changed
  • Inline subtable style list page; If fixed:”right” is commented out, there is no problem; But the locking operation is gone; I feel like I should be able to improve issues
  • Vue front-end /public/index.html JS path issues (small bug) /1844
  • Inline subtable style generated code, subtable data does not display issues/1782
  • Switching TAB refreshes the page issues/I1TFQT
  • Interceptor conflict, update failure issues/I1SMY7
  • Embedded subtable topics (one to many) generate menu issues/1769
  • 360 browser compatible mode IE11 kernel can not enter completely, has been in the loading state issues/1862
  • Route cache issues/842
  • OL One to many after removing or deleting the attached table generated code error — table information loading failure issues/1773
  • Menu Whether to cache routing issues/I1Y0K6
  • J-image-upload Image component Single image details Blank issues/1810 is displayed
  • 【 POPUP 】 How to control popUP to select only one record issues/1866
  • The menu bar lost issues/1763 when the navigation mode was switched. Procedure
  • Issues /1498 cannot be displayed after zooming in the left menu bar window
  • Bugissues /827 caused by using the front-end cache keep-alive
  • The export parameters do not have advanced query parameters issues/1860
  • Official code not found [queryAllAuth] [queryUserAuth] related code issues/1879
  • Fuzzy Query wildcard issues/1820
  • Issues /1779 cannot be shown in picture for details
  • The left sidebar shrinks, and the right interface cannot scroll up and down
  • How to implement JEditableTable POPUP record multi-select issues/1885
  • Item_value in dict_item will be invalid if there is an _ dictionary
  • Import Excel, any Excel can be imported into issues/1756
  • SQL injection issues / 1887
  • After the browser window size is changed on the front page, the menu expansion button becomes invalid, so the menu cannot be expanded and the issues/1913 cannot be operated
  • J -image-upload control does not display issues/1882
  • Position/department selector, with buttons set to false and disabled to true, you can also modify issues/1876
  • It is recommended to upgrade swagger-Bootstrap-UI dependent version issues/1856
  • Select user control issues/1871 by department
  • How to configure the test environment and production environment ah issues/1815
  • All pages are configured with cache routes. Switching between open TAB pages does not refresh the page. However, when a new TAB page is opened, other open TAB pages are refreshed
  • There are issues/1824 when switching the scheduled task of microservice
  • Database synchronization failure issues/1945
  • Popup plug-in in the system does not refresh the data, so you need to click Query or refresh. Is there a place to configure or change the data? issues/1749
  • When the menu shrinks to icon mode, the right area scrolls failure issues/1932
  • Wildcard issues/1952
  • SQL Server database, the table exists to determine the method has problems
  • Js enhanced schedule built-in method call issues/1819
  • There are issues/1824 when switching the scheduled task of microservice
  • The Online form is configured with pull-down selection, and the data cannot be found because the changed field is used as the query condition. issues/I23JY5

Why JeecgBoot?

Open source community “small pu yuan” beyond the traditional commercial platform. A new low code development paradigm (OnlineCoding-> Code generators -> Manual MERGE), low code development while supporting flexible coding can help eliminate 70% of the duplication in Java projects and make development more business-focused. It can quickly improve the development efficiency, save the company’s costs, and at the same time lose flexibility.

  • Using the latest mainstream separation framework (SpringBoot+Mybatis- Plus +Ant-Design+Vue), easy to use; Low dependence of code generator, flexible expansion ability, flexible realization of secondary development;
  • The development efficiency is very high, using code generator, single table data model and one to many (father and son table), tree list data model, add, delete, change and check function automatically generated, menu configuration directly (front-end code and back-end code are generated by one key);
  • Code generators provide a powerful templating mechanism that supports custom template styles. Currently, four sets of style templates are provided (two sets for single table and two sets for one-to-many).
  • Complete encapsulation of users, roles, menus, organizations, data dictionaries, online scheduled tasks and other basic functions. Powerful authority mechanism, support access authorization, button authority, data authority, form authority and so on
  • Zero code online development ability, online configuration form, online configuration report, online configuration chart, online design form
  • Common encapsulation and various tool classes (scheduled task, SMS interface, email sending,Excel import and export, etc.) basically meet 80% of project requirements
  • Simple Excel import and export, support single table export and one to many table mode export, generated code with import and export function
  • Integrated simple report tool, image report and data export is very convenient, can be extremely convenient to generate graph report, PDF, Excel, Word and other reports;
  • Before and after the separation technology, beautiful page UI, for common components to do the packaging: time, line form control, intercept display control, report components, editors and so on
  • Query filter: query function automatically generated, background dynamic spell SQL query conditions; Support a variety of matching methods (full match/fuzzy query/include query/do not match query);
  • Data authority (refined data authority control, control to row level, list level, form field level, realize different people to see different data, different people on the same page to operate different fields
  • Online configuration report (no coding, through online configuration, to achieve graphs, bar charts, data and other reports)
  • Page verification automatically generated (must input, digit verification, amount verification, time space, etc.);
  • Provide CAS integration solution for single sign-on. Complete docking code has been provided in the project
  • Form designer, support user custom form layout, support single table, a pair of forms, support SELECT, radio, checkbox, Textarea, date, POPup, list, macro and other controls
  • Professional interface interconnection mechanism adopts restful interface mode, integrates Swagger-UI online interface documents, and Jwt Token security authentication to facilitate client interconnection
  • Interface security mechanism, can be refined control interface authorization, very simple to achieve different clients only see their own data control
  • Advanced combined query function: online configuration supports associated query of master and child tables and saves query history
  • Provide various system monitoring to track system performance in real time (monitoring Redis, Tomcat, JVM, server information, request tracking, SQL monitoring)
  • Message center (support SMS, email, wechat push, etc.)
  • Integrate Websocket message notification mechanism
  • Provide APP release scheme:
  • Support multi-language, provide internationalization program;
  • Data change logs record each data change and view historical changes using the version comparison function
  • Platform UI powerful, mobile adaptive
  • Platform home page style, provide a variety of combination mode, support custom style
  • Easy to use printing plug-in, support Google, Internet Explorer and other browsers
  • Example code is rich, provide a lot of study case reference
  • Maven module development is adopted
  • Supports menu dynamic routing
  • Permission Control adopts RBAC (Role-based Access Control).

System Function modules

├─ System Management │ ├─ User Management │ ├─ Role Management │ ├─ Menu Management │ ├─ Privileges (Support Button Privileges, Data Privileges) │ ├─ Forms Privileges (Control Field Disabled, Hiding) │ ├─ Department Management │ ├─ My Department (Level 2) │ ├─ Dictionary Management │ ├─ Classification dictionary │ ├─ System Management │ ├─ System Management │ ├─ User Management │ ├─ Role Management │ ├─ Menu Management │ ├─ Forms Privileges (Support Button Privileges, Data Privileges) │ ├─ Department Management │ ├─ My Department (Level 2) │ ├─ Dictionary Management │ ├─ Class Dictionary │ ├─ system news │ ├─ All exercises ├─ All Exercises, all Exercises, all exercises, all exercises, all Exercises, all Exercises │ ├─ Code Builder Template │ ├─ Code Builder Template │ ├─ Code Player Template │ ├─ Code Player Template │ ├─ Code Player Template │ ├─ Code Player Template │ ├─ Code Player Template │ ├─ Code Player Template │ ├─ Code Player Template │ ├─ Code Player Template │ ├─ Query Filter │ ├─ Advanced ├─Excel Import and Export tool Integration (support single table, │ ├─ Platform Mobile Adaptive Support ├─ System Monitor │ ├─Gateway Route Gateway │ ├─ Performance Scan Monitor │ ├─ Monitor Redis │ ├─Tomcat │ ├─ JVM │ ├─ Server Information │ │ ├─ Request Trace │ │ ├─ Disk Monitor │ ├─ Time Task │ ├─ System Log │ ├─ Message Center (Support for SMS, Mail, etc.) │ ├─ Data Log View the data changes) │ ├ ─ system notification │ ├ ─ SQL monitor │ ├ ─ swagger - UI (online interface documentation) │ ─ statements example │ ├ ─ graph │ └ ─ pie chart │ └ ─ histogram │ └ ─ line chart │ └ ─ area chart │ └ ─ entirely │ └ ─ │ instrument diagram ├─ ├─ exercises, ├─ exercises, exercises, exercises, exercises, exercises, exercises, exercises, exercises, exercises, exercises, exercises, exercises, Exercises ├─ ├─ uninhibit-press, uninhibit-press, uninhibit-press, uninhibit-press, uninhibit-press, uninhibit-press, uninhibit-press, uninhibit-press, uninhibit-press, uninhibit-press, uninhibit-press, uninhibit-press ├─ double JEditable │ ├─ double JEditable │ ├─ double JEditable │ ├─ double JEditable │ ├─ double JEditable ├ ─ show │ ├ ─ time │ ├ ─ advanced query │ ├ ─ dictionary │ ├ ─ select department │ ├ ─ select department │ ├ ─ select department │ ├ ─ select department │ ├ ─ Pack curve, bar chart, pie chart, line chart, etc. │ ├─ online code editor │ ├─ all kinds of advanced forms │ ├─ all kinds of list effects │ ├─ all kinds of results │ ├─ all kinds of results │ ├─ all kinds of results │ ├─ all kinds of results ├─ Personal Page ├─ Advanced Features │ ├─ System Code Rules │ ├─ Offer Single sign-on CAS Integration │ ├─ Offer APP Release ├─ Integrated Websocket Message Notification Mechanism ├─Online Online Development (Low code) │ ├─Online Online Forms - Features open │ ├ ─ Online code generator - function has open │ ├ ─ Online Online statements - function has been open │ ├ ─ Online Online chart (not open source) │ ├ ─ Online chart template configuration (not open source) │ ├ ─ Online (not open source) │ layout design ├─ Multi-source Management - Features open ├─ Building Report Design (low code) │ ├─ Print Design │ ├─ Data Report Design │ ├─ Graphic Report Design (support echart) │ ├─ Heavy Screen Design (open source) │ ├─ Process module function │ ├─ Process Design (open source) │ ├─ unteached, unteached, unteached, unteached, unteached, unteached, unteached, unteached, unteached, unteached, unteached, unteached, unteached, unteached, unteached, unteached, unteached... ├ ─ other modules ├ ─ more functions in development.Copy the code

The system screenshots

Large screen data template

PC

Mobile terminal

The PAD end

Welcome to ridicule, welcome to star~