Solon v2.2.12 发布,Java 应用开发框架

发布时间 2023-04-20 08:57:58作者: 带刺的坐椅

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);
    }
}

入门探索视频(用户录制):

《bilibili - solon 入门探索》

本次更新:

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

项目仓库: