Java 新的生态型应用开发框架,Solon :更快、更小、更简单。从零开始构建,有自己的标准规范与开放生态:
- 150多个生态插件,可以满足各种场景开发
- 大量的国产框架适配,可以为应用软件国产化提供更好支持
相对于 Spring Boot 和 Spring Cloud 的项目:
- 启动快 5 ~ 10 倍。 (更快)
- qps 高 2~ 3 倍。 (更高)
- 运行时内存节省 1/3 ~ 1/2。 (更少)
- 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
- 同时支持 jdk8, jdk11, jdk17, jdk20。
似曾相识的体验,入门更简单,迁移很方便:
@Controller
public class App {
public static void main(String[] args) {
Solon.start(App.class, args, app->{
//手写模式
app.get("/", ctx -> ctx.outputAsJson("{message:'Hello world!'}"))
});
}
//注解模式
@Get
@Socket
@Mapping("/hello")
public String hello(String name) {
return String.format("Hello %s!", name);
}
}
入门探索视频(用户录制):
本次更新:
- 增加 afterInjection() 对注入的检测及非必须注入的支持
- 增加 @Bean demo(...) 对注入的检测及非必须注入的支持
- 增加 okhttp 原生编译支持配置
- 增加 solon.scheduling.quartz 原生编译支持配置
- 增加 water-solon-cloud-plugin 原生编译支持配置
- 增加 solon.aot 功能总体上实现(细节优需优化)
- 增加 VarGater::check 接口,用于在容器启动时做收集检测
- 增加 Router::caseSensitive 接口,用于设定区分大小写
- 调整 solon.test 增加代理类的字段注入
- 调整 solon.proxy.apt 的代理生成能力,转移到 solon.aot
- 调整 solon aot 时,取消 Runtime.getRuntime().addShutdownHook
- 调整 solon cloud 在 aot 时不做注册处理
- 调整 mybatis 适配的环境id规则保持也数据源bean同名
- 调整 Fastjson2Serializer 增加内部的上下文复用
- 调整 solon 路径分析器添加区分大小写的控制
- 调整 solon-maven-plugin 打包时,排除 provided 的包;支持配置 include 和 exclude 配置
- 调整 sa-token-solon-plugin 全局过滤器的 BeforeAuth 认证设为不受 includeList 与 excludeList 的限制,所有请求都会进入
- 修复 native 运行时,可能出现找不到资源文件而报错
- mybatis-flex 升为 1.2.0
- wood 升为 1.1.1
项目仓库:
- gitee:https://gitee.com/noear/solon
- github:https://github.com/noear/solon