This page introduces the Solon framework: its purpose, design principles, Java compatibility, GraalVM support, and a high-level map of how its major subsystems relate to each other. For detailed treatment of individual systems, see the linked subsystem pages throughout this wiki. For bundle selection and module layout, see Module Structure and Ecosystem.
Solon is a lightweight, high-performance Java enterprise application development framework built from scratch, independent of the Java EE (Jakarta EE) specification. It provides a modular architecture where every optional capability is implemented as a plugin.
Core characteristics:
solon artifact ~500KB).Performance benchmarks README.md65-70 report 700% higher concurrency on TechEmpower Plaintext tests, 50% lower memory usage, 10× faster startup times, and 90% smaller deployment packages compared to traditional Java frameworks.
Sources: README.md1-71 README_EN.md1-70
Solon's architecture follows a layered design with clear separation of concerns:
| Layer | Key Components | Role |
|---|---|---|
| Application Layer | User code, @Controller, @Configuration | Business logic and configuration |
| Core Framework Layer | Solon, SolonApp, AppContext, SolonProps | Application lifecycle, DI container, configuration |
| Request Processing Layer | RouterHandler, Router, ChainManager, Context | HTTP request routing and filtering |
| Extension & Plugin Layer | Plugin, ExtendLoader, EventBus | Dynamic extensibility and event-driven integration |
| Infrastructure Layer | BeanContainer, MethodWrap, ConvertUtil | Low-level utilities for reflection, AOP, type conversion |
Core design principles:
Plugin implementations loaded via discovery mechanisms solon/src/main/java/org/noear/solon/core/Plugin.java1-30@Component, @Bean, and @Inject to build the dependency injection container solon/src/main/java/org/noear/solon/SolonApp.java185-186Context objects via a pipeline of Filters and Handlers solon/src/main/java/org/noear/solon/core/handle/Context.java43-51Sources: README.md55-59 README_CN.md55-59 solon/src/main/java/org/noear/solon/SolonApp.java61-71
Solon targets Java 8 as its minimum requirement and supports up through Java 25.
| JDK Version | Status | Notes |
|---|---|---|
| 8 | Minimum baseline | Fully supported README.md23-25 |
| 11 | Supported | LTS release README.md26-28 |
| 17 | Supported | LTS release README.md29-31 |
| 21 | Supported | LTS release README.md32-34 |
| 25 | Supported | Next-gen support README.md35-37 |
Modern Java Support: The ecosystem includes dedicated repositories for newer Java versions, such as solon-java17 and solon-java25, to leverage modern language features while maintaining the core's Java 8 compatibility README.md88-89 Version 4.0 specifically introduced ScopeLocalJdk25 for advanced thread-local bridging UPDATE_LOG.md42 and a solon-java25 package for automatic loading UPDATE_LOG.md43
Sources: README.md23-37 README_EN.md23-37 UPDATE_LOG.md41-43 solon-parent/pom.xml21-42
Solon provides first-class native image support. It is designed to be AOT (Ahead-of-Time) friendly, avoiding excessive runtime reflection where possible. This allows Solon applications to be compiled into native executables with extremely fast startup and low memory footprints. The NativeDetector utility is used throughout the core to optimize behavior for native environments solon/src/main/java/org/noear/solon/core/runtime/NativeDetector.java1-30
Sources: README.md56 solon/src/main/java/org/noear/solon/SolonProps.java174-178 solon/src/main/java/org/noear/solon/Solon.java238-246
Figure 1 — Core system architecture (layered view)
Sources: solon/src/main/java/org/noear/solon/SolonApp.java61-75 solon/src/main/java/org/noear/solon/Solon.java47-51
Figure 2 — Code Entity Space Bridge (Key Components)
Sources: solon/src/main/java/org/noear/solon/Solon.java142-167 solon/src/main/java/org/noear/solon/SolonApp.java82-155 solon/src/main/java/org/noear/solon/SolonProps.java53
Solon uses a modular bundle organization. The framework is split into a core and numerous plugins across different domains.
Figure 3 — Solon Ecosystem Module Organization
Sources: README.md82-89 UPDATE_LOG.md50 solon-parent/pom.xml79-93
Major subsystem categories:
| Category | Description |
|---|---|
| Core Runtime | Fundamental IoC, AOP, and lifecycle management. |
| Cloud Services | Abstractions for discovery, config, and events via solon-cloud README.md85 |
| AI & Flow | Specialized logic for AI integrations (solon-ai-loop) and workflow engines UPDATE_LOG.md39-40 |
| Build Tooling | Plugins for Maven and Gradle to facilitate AOT and packaging README.md94-95 |
Experimental and Community Modules:
__hatch): Contains incubation modules such as solon-net-thrift, solon-net-avro, solon-server-netty, and solon-server-reactor-netty.style/ directory..github/ and .gitee/.The remainder of this wiki covers these subsystems in detail:
solon-parent structure, and the __release aggregation strategy.Sources: README.md103-112 UPDATE_LOG.md32-55 solon-parent/pom.xml34-42
Refresh this wiki
This wiki was recently refreshed. Please wait 5 days to refresh again.