zuihou-admin-cloud 1.6 release, support for automatic generation of front page

Update log Today:

1. unique Id of the generator into hutool IdUtil
2. field data associated injection tool (zuihou-injection-starter) guava increased local cache, to speed up the injection rate, improve annotation.
3. Use custom enumerator MP type converter provided, when repairing a database enumeration value field does not exist, given the bugs
4. hutool tools used to optimize the operation exception message logging
tools in core 5. Mark class as obsolete, embrace Hutool
6. new parameter management-related features for configuring a system or global parameters tenants personalized parameters.
7. The injection tool repair data buffer associated field of a query bug
8. The code generator associated bug fixes and new front page generation.
9. improve document related features
10. The recording code generator, the video data injection tool

 

Summary:


Based on `SpringCloud (Hoxton.SR1)` + `SpringBoot (2.2.2.RELEASE)` the SaaS service micro-scaffold, with user management, resource rights management, unified gateway authentication, Xss anti-cross-site attacks, automatic code generation, multi-storage systems, distributed transactions, and other regular tasks distributed modules, multi-service system to support parallel development, multi-service support parallel development, can be used as scaffolding to develop back-end services. Code is simple and clear structure, is very suitable for learning. The core technology employed Nacos, Fegin, Ribbon, Zuul, Hystrix, JWT Token, Mybatis, SpringBoot, Seata, Nacos, Sentinel, RabbitMQ, FastDFS other main framework and middleware.

Hope and strive to create a set from  SaaS basic framework  -  distributed micro-services architecture  -  Automated deployment  -  system monitoring  solutions. The project aims to achieve basic skills, not related to specific operations.
 

Function Point presentation:

Registration and service call:

Service registration and call Eureka implemented based on using Feign in Spring Cloud, we can do it using an HTTP request remote services can call the local method and the same coding experience, developers fully perceive this is not a remote method, more aware this is not a HTTP request.

 Authentication Service:

Permission to schedule the service to enhance the way by JWT verification, to ensure internal security services.

Load Balancing:

The service keeps the rest proxy and gateway control, in addition to the usual frequently used node.js, nginx, Spring Cloud series zuul and ribbon, can help us carry out normal gateway control and load balancing. Which extend and learn from foreign expansion project based on JWT's Zuul limit to limit the current flow plug-respect.

 Fuse mechanism:

Since taking the distribution of services, in order to avoid service calls between the "avalanche", we adopted Hystrix as fuses, to avoid the "avalanche" between services.

monitor:

Use Spring Boot Admin to monitor the operating status of each individual Service; using the turbine to view state and calling frequency interface in real time; to see the call chain between the various services through Zipkin and so on.

data permission:

Based Mybatis DataScopeInterceptor use of interceptors to achieve a simple data permissions

No sense of SaaS solutions:

Use Mybatis interceptors to achieve the interception of all SQL, modify the default Schema, in order to achieve the purpose of multi-tenant data isolation.

Secondary cache:

Using J2Cache cache operation, using a first level cache memory (the Caffeine), second-level cache use Redis. Because a large number of L2 cache reads may result in the bottleneck of the network system, the target is to reduce the number of reads L1 to L2. The frame buffer is mainly used in a clustered environment. It can also be used stand-alone, to avoid the impact of the back-end business application cache after the restart due to a cold start.

Elegant Bean conversion:

Dozer assembly employed to optimize the conversion of the DTO, DO, PO object, etc.

Front and rear end unified form validation:

Strict form validation usually takes the front + back-end and to verify, but the traditional project are only done once before and after the end of each test, the late rule change, they have to end at the same time before and after the modification. Therefore, on the basis of the package on the hibernate-validator zuihou-validator-starter starting-dependent, provides a common interface, access rules can be verified form, then the front end of the rear end of the returned usage rule, if after the rule change, only the rear end modifications.

Anti-cross-site scripting attacks (XSS):

  •      To filter all requests in the form parameter through the filter
  •      To filter all application / json type parameter Json deserializer implemented by

The current user information Injector:

 By injection annotations achieve user identity

Online API:

Since the primary function of certain swagger-ui support friendly enough, so the use of domestic open-source knife4j, and produced a stater, convenient springboot users.

Code generator:

Mybatis-plus-generator based on the custom code generator set, by configuring the annotation database fields, generated automatically enumerated classes, dictionary data annotation, SaveDTO, UpdateDTO, validation rules form annotations, annotation Swagger like.

Timing task scheduler:

Enhancements were based xxl-jobs. (Example: send task specified time, and a scheduler performing combined projects, multiple data sources)

Speaking Eureka registry page:

Please switch branches View

Large file / break / slice Resume:

Front-end webupload.js, the back-end uses NIO to achieve a break after large files fragmented resume, start Eureka, Zuul, File Services, directly open docs / chunkUploadDemo / demo.html can be tested. After testing, the local limit maximum stack memory 128M start File Services, within five minutes can be successfully uploaded 4.6G + large files, the official service will be affected user consuming bandwidth and server bandwidth, long time.

Distributed Transaction:

Ali integrated distributed transaction middleware: seata, with  high efficiency  and business  0 intrusive  way to solve the problems facing distributed transaction scenario of micro-services.

Automatic injection associated data:

To solve cross table, cross-database, cross-service properties of individual objects or paged data attributes echo of the pain associated data, support for static data attribute (data dictionary), dynamic data is automatically injected into the primary key.

Item code address

project gitee github Remark
Micro Services https://gitee.com/zuihou111/zuihou-admin-cloud https://github.com/zuihou/zuihou-admin-cloud SpringCloud version of the back-end code
Single project https://gitee.com/zuihou111/zuihou-admin-boot https://github.com/zuihou/zuihou-admin-boot SpringBoot version of the back-end code
Tenant Background https://gitee.com/zuihou111/zuihou-ui https://github.com/zuihou/zuihou-ui | To use front-end customer
Development & Operations background https://gitee.com/zuihou111/zuihou-admin-ui https://github.com/zuihou/zuihou-admin-ui The company developed in-house & Operations & operation and maintenance personnel
Code generator   https://github.com/zuihou/zuihou-generator Developers use

Demo (demo account does not have write permissions can only query)

project Demo Address Administrator account Ordinary Account
Tenant Background http://tangyh.top:10000/zuihou-ui zuihou / zuihou test/zuiou
Development & Operations background http://tangyh.top:180/zuihou-admin-ui demoAdmin / zuihou no

Guess you like

Origin www.oschina.net/news/113282/zuihou-admin-cloud-1-6-released