Solon 是一个高效的 Java 应用开发框架:更快、更小、更简单。它不是 Spring、没有使用 Servlet、JavaEE 接口,是一个有自己接口标准的开放生态:
- 150多个生态插件,可以满足各种场景开发
- 大量的国产框架适配,可以为应用软件国产化提供更好支持,助力信创建设
相对于 Spring Boot 和 Spring Cloud 的项目:
- 启动快 5 ~ 10 倍。 (更快)
- qps 高 2~ 3 倍。 (更高)
- 运行时内存节省 1/3 ~ 1/2。 (更少)
- 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
- 同时支持 jdk8, jdk11, jdk17, jdk19。
似曾相似的体验,入门更简单,迁移很方便:
@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; } }
入门探索视频(用户录制):
本次更新:
- 新增 solon.aot 插件(已可试用)
- 新增 simplejavamail-solon-plugin 插件
- 新增 sms4j-solon-plugin 插件
- 新增 pulsar2-solon-plugin 插件
- 新增 drools-solon-plugin 插件
- 新增 solon.web.sdl 插件替代 solon.web.sso(之前名字搞错了)
- 插件 solon.boot.jetty 增加 jetty-servlet 依赖(solon.boot.jetty.add.servlet 就不需要了)
- 插件 solon.boot.jlhttp 优化线程不够时会处理方式
- 插件 solon.boot.sockted.jdksocket 优化线程不够时会处理方式
- 插件 solon.boot.smarthttp 优化二级池线程不够时会处理方式
- 插件 solon-maven-plugin 打包机制,支持 scope system 包编译
- 增加 Utils::isEmpty(Collection s 接口
- 增加 solon cloud i18n 默认值配置支持
- 增加 @Configuration + @inject 支持配置变更事件的注入
- 增加 solon.cloud/Config:_Props 申明为非序列化字段
- 增加 三个 http server 通过事件扩展的支持,比如定制执行服务
- 增加 @Inject("${demo:hello}" 有默认值的配置注入支持自动更新
- 调整 sa-token dao 适配代码,优化相同key在多线程下的并发问题
- 调整 InvocationRunnableFactory::create 允许返回为 null,即自己直接执行
- 调整 @Init 的索引策略与 LifecycleBean 相同:+1
- 调整 根路由支持 remove 监听记录
- mybatis-flex 升为 1.1.3
- mybatis-plus 升为 3.5.3.1
- undertow 升为 2.2.24.Final
- jetty 升为 9.4.51.v20230217
- fastjson2 升为 2.0.28
- beetlsql 升为 3.22.0-RELEASE
- redisx 升为 1.4.7
- snack3 升为 3.2.66,支持 Charset 类型注入
项目仓库:
- gitee:https://gitee.com/noear/solon
- github:https://github.com/noear/solon