# solon
**Repository Path**: shyaoht/solon
## Basic Information
- **Project Name**: solon
- **Description**: 🔥 Java 新的生态:更快、更小、更简单!!!启动快 5 ~ 10 倍;qps 高 2~ 3 倍;运行时内存节省 1/3 ~ 1/2;打包可以缩到 1/2 ~ 1/10
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: https://solon.noear.org
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 749
- **Created**: 2023-10-07
- **Last Updated**: 2023-10-07
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Solon v2.5.8
Java new ecological application development framework, smaller, faster, simpler!
https://solon.noear.org
##### Language: English | [中文](README.md) | [Русский](README_RU.md) | [日本語](README_JP.md)
Startup is 5 to 10 times faster; QPS is 2 to 3 times higher; runtime memory is saved by 1/3 to 1/2; packaging can be reduced to 1/2 to 1/10
## Introduction:
Build from scratch. It has its own standards and norms and open ecology. Combination of different ecological plug-ins to meet different needs, convenient customization, rapid development:
* **Restraint, simplicity, efficiency, openness and ecology**
* Supports JDK8, JDK11, JDK17, JDK21
* Http, WebSocket, Socket three signal unified development experience (commonly known as: three-source integration)
* Supports "annotation" and "manual" modes, freely controlled as needed
* Not Servlet, can adapt to any basic communication framework (minimum 0.3m running rpc architecture)
* [Unique IOC/AOP container design](https://solon.noear.org/article/241). It won't start slowly just because there are more plug-ins
* Supports Web, Data, Job, Remoting, Cloud, and other development scenarios
* The two architecture modes are Handler + Context and Listener + Message
* Emphasizes plug-in extensibility, expandable and swappable, adaptable to different application scenarios
* Supports GraalVm Native Image packaging
* Allow service plug-ins to hot-plug, hot-swap, and hot-manage.
## Ecosystem Architecture Diagram:
## Hello World:
```xml
org.noear
solon-parent
2.5.8
org.noear
solon-web
```
```java
@SolonMain
public class App {
public static void main(String[] args) {
Solon.start(App.class, args, app -> {
//Handler mode:
app.get("/hello", c -> c.output("Hello world!"));
});
}
}
//Controller mode: (mvc or rest-api)
@Controller
public class HelloController {
//Limit Socket method type
@Socket
@Mapping("/mvc/hello")
public String hello(String name) {
return "Hello " + name;
}
}
//Remoting mode: (rpc)
@Mapping("/rpc/")
@Remoting
public class HelloServiceImpl implements HelloService {
@Override
public String hello() {
return "Hello world!";
}
}
```
## Official website and related examples, cases:
* Official website address:[https://solon.noear.org](https://solon.noear.org)
* Official website supporting demos:[https://gitee.com/noear/solon-examples](https://gitee.com/noear/solon-examples)
* Project unit test:[__test](./__test/)
* Project more feature examples:[solon_api_demo](https://gitee.com/noear/solon_api_demo) 、 [solon_rpc_demo](https://gitee.com/noear/solon_rpc_demo) 、 [solon_socketd_demo](https://gitee.com/noear/solon_socketd_demo) 、 [solon_cloud_demo](https://gitee.com/noear/solon_cloud_demo) 、 [solon_auth_demo](https://gitee.com/noear/solon_auth_demo)
* User case:[User open source project](https://solon.noear.org/article/555)、[User business project](https://solon.noear.org/article/cases)
## Special thanks to JetBrains for supporting open-source projects: