# solon
**Repository Path**: codingwwr/solon
## Basic Information
- **Project Name**: solon
- **Description**: noear:: 更现代感的应用开发框架。更快、更小、更自由!主框架0.1M;组合不同的插件应对不同需求;方便定制;快速开发。简单工作,早点下班:)
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: https://solon.noear.org
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 718
- **Created**: 2022-05-18
- **Last Updated**: 2022-05-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Solon
A lightweight Java application development framework
https://solon.noear.org
## Solon
更现代感的应用开发框架。**更快、更小、更少、更自由!**
支持jdk8+;主框架0.1mb;组合不同的插件应对不同需求;方便定制;快速开发。
* 克制、简洁、开放、生态
* Http、WebSocket、Socket 三种信号统一的开发体验(俗称:三源合一)
* 支持注解与手动两种模式,按需自由操控
* Not Servlet,可以适配任何基础通讯框架(所以:最小0.2m运行rpc架构)
* 自建 IOC & AOP容器,支持 Web、Data、Job、Remoting、Cloud 等任何开发场景
* 集合 Handler + Context 和 Listener + Message 两种架构模式;强调插件式扩展;适应不同的应用场景
* 插件可扩展可切换:启动插件,扩展插件,序列化插件,数据插件,会话状态插件,视图插件(可共存) 等...
* 支持 GrallVm Native 打包
* 体验与 Spring Boot 相近,迁移成本低: [《Solon 特性简集,相较于 Springboot 有什么区别?》](https://my.oschina.net/noear/blog/4863844)
## Solon Cloud
一系列分布式开发的接口标准和配置规范,相当于DDD模式里的防腐层概念。是 Solon 的微服务架构模式开发解决方案。
目前已适配了一系列的插件用于支持这一标准:[《Solon Cloud 分布式服务开发套件清单,感觉受与 Spring Cloud 的不同》](https://my.oschina.net/noear/blog/5039169)
其中,[Water 项目](https://gitee.com/noear/water) 是一站式支持 Solon Cloud 系列标准的支撑平台。
功能相当于:consul + rabbitmq + elk + prometheus + openFaas + quartz + 等等,并有机结合在一起。一直与 Solon 项目伴生成长。
## Hello world:
```java
//Handler 模式:
public class App{
public static void main(String[] args){
SolonApp app = Solon.start(App.class,args);
app.get("/",(c)->c.output("Hello world!"));
}
}
//Controller 模式:(mvc or rest-api)
@Controller
public class App{
public static void main(String[] args){
Solon.start(App.class,args);
}
//限定 put 方法类型
@Put
@Mapping("/")
public String hello(String name){
return "Hello " + name;
}
}
//Remoting 模式:(rpc)
@Mapping("/")
@Remoting
public class App implements HelloService{
public static void main(String[] args){
Solon.start(App.class,args);
}
@Override
public String hello(){
return "Hello world!";
}
}
```
## 主框架及快速集成开发包:
###### 主框架
| 组件 | 说明 |
| --- | --- |
| org.noear:solon-parent | 框架版本管理 |
| org.noear:solon | 主框架 |
| org.noear:nami | 伴生框架(做为solon remoting 的客户端)|
###### 快速集成开发包及相互关系
| 组件 | 说明 |
| --- |-------------------------------------------------------|
| org.noear:solon-lib | 快速开发基础集成包 |
| org.noear:solon-api | solon-lib + jlhttp boot;快速开发接口应用 |
| org.noear:solon-web | solon-api + freemarker + sessionstate;快速开发WEB应用 |
| org.noear:solon-beetl-web | solon-api + beetl + beetlsql + sessionstate;快速开发WEB应用 |
| org.noear:solon-enjoy-web | solon-api + enjoy + arp + sessionstate;快速开发WEB应用 |
| org.noear:solon-rpc | solon-api + nami;快速开发RPC应用 |
| org.noear:solon-cloud | solon-rpc + consul;快速开发微服务应用 |
## 快速了解 Solon 架构的材料:
##### [《Solon 的想法与架构笔记》](https://my.oschina.net/noear/blog/4980834)
##### [《Solon 生态插件清单》](https://my.oschina.net/noear/blog/5053423)
## 官网及相关示例:
* 官网地址:[https://solon.noear.org](https://solon.noear.org)
* 官网配套演示:[https://gitee.com/noear/solon-examples](https://gitee.com/noear/solon-examples)
* 项目单测:[_test](./_test/)
* 项目更多功能示例:[solon_demo](https://gitee.com/noear/solon_demo) 、 [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)