Java 新的生态型应用开发框架,更小、更快、更简单!
启动快 5 ~ 10 倍;qps 高 2~ 3 倍;运行时内存节省 1/3 ~ 1/2;打包可以缩到 1/2 ~ 1/10
从零开始构建。有自己的标准规范与开放生态。组合不同的生态插件应对不同需求,方便定制,快速开发:
- 克制、简洁、高效、开放、生态
- 支持 JDK8、JDK11、JDK17、JDK20
- Http、WebSocket、Socket 三种信号统一的开发体验(俗称:三源合一)
- 支持“注解”与“手动”两种模式,按需自由操控
- Not Servlet,可以适配任何基础通讯框架(最小 0.3m 运行rpc架构)
- 自制 IOC/AOP 容器
- 支持 Web、Data、Job、Remoting、Cloud 等任何开发场景
- 兼顾 Handler + Context 和 Listener + Message 两种架构模式
- 强调插件式扩展,可扩展可切换;适应不同的应用场景
- 允许业务插件“热插”、“热拨”
- 支持 GraalVm Native 打包
<parent>
<groupId>org.noear</groupId>
<artifactId>solon-parent</artifactId>
<version>2.2.15</version>
</parent>
<dependencies>
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-web</artifactId>
</dependency>
</dependencies>
@SolonMain
public class App{
public static void main(String[] args){
Solon.start(App.class, args, app->{
//Handler 模式:
app.get("/hello",(c)->c.output("Hello world!"));
});
}
}
//Controller 模式:(mvc or rest-api)
@Controller
public class HelloController{
//限定 Socket 方法类型
@Socket
@Mapping("/mvc/hello")
public String hello(String name){
return "Hello " + name;
}
}
//Remoting 模式:(rpc)
@Mapping("/rpc/")
@Remoting
public class HelloServiceImpl implements HelloService{
@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;快速开发微服务应用 |
- 官网地址:https://solon.noear.org
- 官网配套演示:https://gitee.com/noear/solon-examples
- 项目单测:__test
- 项目更多功能示例:solon_demo 、 solon_api_demo 、 solon_rpc_demo 、 solon_socketd_demo 、 solon_cloud_demo 、 solon_auth_demo