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.@Component, @Bean, and @Inject to build the dependency injection container.Context objects via a pipeline of Filters and Handlers.Sources: README.md55-59 README_CN.md55-59 solon/src/main/java/org/noear/solon/SolonApp.java183-195
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 Recent updates also added ScopeLocalJdk25 for automatic loading on newer runtimes UPDATE_LOG.md31-32
Sources: README.md23-37 README_EN.md23-37 UPDATE_LOG.md30-32 solon-parent/pom.xml21-25
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 README.md56 The NativeDetector utility helps components adapt their behavior between JIT and AOT runtimes solon/src/main/java/org/noear/solon/SolonProps.java174-177
Sources: README.md56 README_RU.md56 solon/src/main/java/org/noear/solon/core/runtime/NativeDetector.java1-30
Figure 1 — Core system architecture (layered view)
Sources: README.md103-107 solon/src/main/java/org/noear/solon/SolonApp.java58-76 solon/src/main/java/org/noear/solon/core/handle/Context.java43-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/core/handle/Context.java49-51
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 pom.xml20-24 UPDATE_LOG.md39-50 solon-parent/pom.xml163-165
Major subsystem categories:
| Category | Description |
|---|---|
| Core Runtime | Fundamental IoC, AOP, and lifecycle management via solon and solon-parent. |
| Cloud Services | Abstractions for discovery, config, and events via solon-cloud README.md85 |
| AI & Flow | Specialized logic for AI integrations (solon-ai) and workflow engines (solon-flow) README.md82-83 |
| Build Tooling | Plugins for Maven and Gradle to facilitate AOT and packaging README.md94-95 |
Experimental and Community Modules:
__hatch): Contains incubation modules like Thrift, Avro, Netty HTTP, and the new solon-server-feathttp trial pom.xml23 UPDATE_LOG.md39style/ directory..github/ and .gitee/ CONTRIBUTING.md1-102The remainder of this wiki covers these subsystems in detail:
solon-parent structure, and the __release aggregation strategy.