Solon 是一个高效的 Java 应用开发框架:更快、更小、更简单。也是一个有自己接口标准规范的开放生态。
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);
}
}
入门探索视频(用户录制):
《bilibili - solon 入门探索》
本次更新:
- 增加 @Path 替代 @PathVar(简短些),不过这个注解本身意义不大
- 增加 ResourceUtil::findResource 接口(ssl.keyStore 改用此接口)
- 增加 “application.xxx” 配置的弃用警告日志
- 增加 “solon.config” 多文件与内外文件支持
- 增加 “solon.config.add”(添加外部) 配置,用于替代 “solon.config”
- 增加 “solon.config.load”(加载内部) 配置,支持数组配置
- 增加 Props::getMap 接口,替代 Props::getXmap
- 调整 file-s3-solon-cloud-plugin 插件, "file.default"改为动态获取,增加bucket接口
- 调整 maven 版本管理,由 ${xxx.ver} 改为 ${xxx.version}
- 优化 请求参数 required 的提示
- 优化 Props::getProp 减少 forEach 次数
- 修复 solon.scheduling.simple 插件,在启动卡时后不能运行 cron=* * * * * ?
- 修复 AopContext::ProxyComponent 不能被 copyto 的问题
- sqltoy 升为 5.2.41
- wood 升为 1.0.9
- snack3 升为 3.2.62
- hutool 升为 5.8.16
- liteflow 升为 2.10.1
项目仓库:
- gitee:https://gitee.com/noear/solon
- github:https://github.com/noear/solon