# solon
**Repository Path**: java_svn/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**: 752
- **Created**: 2023-06-13
- **Last Updated**: 2023-06-13
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Solon v2.3.3
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, JDK20
* 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. 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 packaging
* Allow service plug-ins to hot-plug, hot-swap, and hot-manage.
## Ecosystem Architecture Diagram:
## Hello World:
```xml
org.noear
solon-parent
2.3.3
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!";
}
}
```
## Main framework and quick integration development packages:
###### Main framework:
| Component Package | Description |
|------------------------|-----------------------------|
| org.noear:solon-parent | Dependency version management |
| org.noear:solon | Main framework |
| org.noear:nami | Companion framework (as solon remoting's client) |
###### Quick integration development packages and relationships:
| Component Package | Description |
|---------------------------|-------------------------------------------------------|
| org.noear:solon-lib | Quick development basic integration package |
| org.noear:solon-api | solon-lib + jlhttp boot;quick development of API applications |
| org.noear:solon-web | solon-api + freemarker + sessionstate;quick development of WEB applications |
| org.noear:solon-beetl-web | solon-api + beetl + beetlsql + sessionstate;quick development of WEB applications |
| org.noear:solon-enjoy-web | solon-api + enjoy + arp + sessionstate;quick development of WEB applications |
| org.noear:solon-rpc | solon-api + nami;quick development of RPC applications |
| org.noear:solon-cloud | solon-rpc + consul;quick development of microservices applications |
## Official website and related examples:
* 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)
## Special thanks to JetBrains for supporting open-source projects: