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 类型注入