hxyFrame is a backend management system developed using the popular framework springMvc+spring+mybatis+shiro+redis+ehcache. It implements permission management (menu permissions, data permissions), solr full-text search engine, activiti workflow engine, cas single sign-in, etc. Function, the complete code generator will be considered to be transformed into module micro-services in the later stage, so that the modules are relatively independent and more flexible to use, and strive to quickly develop OA office systems.
1. Permission management: Shiro is used to realize functional permissions and data control permissions of organizational departments. It can control menu permissions, button permissions, and organizational department permissions (data permissions).
2. Workflow engine: Using the mainstream activiti process engine, it expands on the original basis to dynamically add the scope of approval personnel, dynamic settings of countersigning nodes, exclusive routing condition settings, node editable field settings, callback functions after node execution, and processing Functions such as task rejection, re-initiation by the initiator, return to the previous step, free jump, transfer, etc. During the development process, you only need a simple business process tree and abide by some rules to use the process very conveniently. Later, you will also consider adding a custom form to make development easier.
3. CAS single point login: Integrate cas+shiro+redis single point login to realize unified login and logout of multiple systems.
4. Cache: Use redis+ehcahe to integrate shiro's custom sessionDao to realize distributed cluster sharing session. Redis can be used in stand-alone mode or cluster sentinel mode. Flexible switching modes
5. Solr full-text search engine, the most basic add, delete, modify, search, keyword paging query, highlighted keyword query, there are three ways to create an index: 1. Call solr to add index when CRUD 2.sql Import the index directly from the database 3. If real-time is not required, you can store it in a table first, and then write a certain time task to update the index at regular intervals. For requirements that do not require real-time, performance can be improved. It has not yet been merged into the main trunk. The development will be more complete and will be integrated into the project later.
6. quartz scheduled tasks: can dynamically complete tasks such as adding, modifying, deleting, pausing, resuming, and viewing logs.
7. App interface: Based on Json web token (JWT) to authenticate user information, use swagger to generate an interactive API document console.
8. The page interaction uses vue+html and the most common jsp+jstl tags. Corresponding templates are written for both interactions, and you can choose the appropriate interaction method.
9. The perfect code generation mechanism can generate entity, xml, dao, service, html, js, and sql codes online. It can quickly develop basic function codes and focus more on difficult problems.
10. Use layer-friendly pop-up boxes and layerUI’s relatively beautiful interface to make the OA system look a little better.
Core Framework: Spring Framework 4.3.7.RELEASE
Workflow engine: Activiti 5.22.0
Full text search: Solr 6.5.1
Single sign-on: cas 4.0.3
Cache: redis 3.07
Permissions Framework: Apache Shiro 1.3
View framework: Spring MVC 4.3
Persistence layer framework: MyBatis 3.3
Database: mysql 5.7
Timer: Quartz 2.2.3
Front-end page: Vue2.x, jstl, bootstrap, layer, layerUI
JDK1.8
MySQL5.7.17
Maven3.0
Tomcat7.0
redis 3.07
Solr 6.5.1
1. Create the database hxyframe, the database encoding is UTF-8, and import the doc/sql/hxyframe.sql script
2. Modify the conf/jdbc.properties file and change the MySQL account and password
3. redis service, you can use stand-alone redis or configure sentinel cluster mode
4. Solr server, you can download and configure it yourself, or you can go to the official QQ group to download the fully configured one.
5. Project access path: http://localhost:8080/frame-admin/