Skip to content

JQuick

A lightweight Java framework collection — pure Java, zero heavyweight dependencies, declarative first. HTTP requests, PDF reports, JSON paths, rule engine, SQL and Excel.

Introduction

JQuick is a lightweight open-source framework collection for enterprise Java applications. Every module is pure Java, free of heavyweight dependencies and declarative first, so it can be added on its own or embedded into an existing system.

  • Pure JavaThe core modules do not rely on JNI and run identically on Windows, Linux, macOS and domestic Chinese operating systems such as Kylin, UOS and openEuler.
  • No heavyweight dependenciesEach module can be adopted independently, with no binding to Spring or any other heavy container and no runtime agent or extra middleware.
  • Declarative firstDescribe rules and requests with XML, annotations or a DSL so business code and configuration stay decoupled — change the configuration to change the behaviour.

Architecture

The modules fall into four layers: runtime and data capabilities underneath, business-facing tools on top. Each module can be adopted on its own, or combined along a data flow to cover a whole pipeline.

01
Runtime
Script execution, JSON parsing, path queries and bytecode access — the shared foundation for every other module.
02
Data
Reads external sources into memory, queries them with SQL and shapes them with functions.
03
Network
Protocol gateway and RPC calls for inter-process communication and inbound traffic.
04
Developer Tools
Tools that produce a deliverable: API calls, spreadsheets and PDF documents.

A typical data flow

Chained together, the data-layer modules form a lightweight ETL that moves no data. Take an orders table in MySQL that has to become a reconciliation report: the connector pulls, the dataset holds, SQL joins, transform functions clean, and the result is exported to Excel or PDF.

  1. IngestJQuick-ConnectorJDBC, CSV, Excel, JSON, Redis and HTTP — 22 source types, all read into an in-memory dataset.
  2. HoldJQuickDataSetColumn metadata plus rows, with filter, sort, paging, grouping and joins.
  3. QueryJQuick-SqlRegister datasets as tables and run standard SQL for filtering, aggregation and multi-table joins.
  4. ShapeJQuick-Transform259 built-in functions for type conversion, code translation and masking, callable straight from SQL.
  5. DeliverJQuick-Excel · JQuick-PdfExport the dataset as a workbook via toMapList(), or render it into a PDF from an HTML template.

The whole chain runs inside a single JVM — no middleware, and no need to load the data into a separate database first.

Ecosystem

Open a card to read the module documentation. Projects marked “Docs coming soon” can be explored on the GitHub organisation in the meantime.

Quick start

Using JQuick-Curl as an example: add the dependency, describe the request with a curl command and call it as a Java method. For another module just replace the artifactId with jquick-pdf, jquick-sql or jquick-excel.

<dependency>
<groupId>io.github.paohaijiao</groupId>
<artifactId>jquick-curl</artifactId>
<version>2.6.0</version>
</dependency>

Contact

Reach out for questions, feedback or business cooperation — filing an issue on GitHub works too.