Java 超新星開源項目 Solon v1.10.10 發布

一個更現代感的 Java 應用開發框架:更快、更小、更自由。主框架僅 0.1 MB。Helloworld:

@Controller
public class App {
    public static void main(String[] args) {
        Solon.start(App.class, args);
    }

    @Get
    @WebSocket
    @Mapping("/hello")
    public String hello(@Param(defaultValue = "world") String name) {
        return String.format("Hello %s!", name);
    }
}

入門探索影片(用戶錄製):

《bilibili – solon 入門探索》

相對於 Spring Boot 和 Spring Cloud 的項目:

  • 啟動快 5 ~ 10 倍。 (更快)
  • qps 高 2~ 3 倍。 (更高)
  • 運行時記憶體節省 1/3 ~ 1/2。 (更少)
  • 打包可以縮小到 1/2 ~ 1/10;比如,300Mb 的變成了 23Mb。 (更小)
  • 基於服務 name 進行註冊發現 與 k8s svc 相互對應
  • 支援 Service Mesh 架構部署方案
  • 同時支援 jdk8, jdk11, jdk17, jdk19

本次更新:

  • 插件 solon.sessionstate.jwt 增加實體設置支援,並支援自動類型迴轉(自定義了序列化)
  • 插件 solon.boot.smarthttp 對 PRI 請求輸出 501 狀態碼
  • 插件 mybatis-solon-plugin 增加對 typeHandlers 配置節的支援
  • 調整 AopContext::getBeanAsyn, AopContext::getWarpAsyn, EventBus::pushAsyn 為棄用
  • 增加 AopContext::getBeanAsync,AopContext::getWarpAsync,EventBus::pushAsync
  • 增加 注入異常時,顯示目標詳情
  • 增加 ASM 代理失敗時,顯示目標詳情
  • 增加 HandlerLoader::findMethods 可重寫
  • 提示 Action 只有當前類申明的公有函數才被接受(即 getDeclaredMethods)
  • 調整 solon.hotplug 取消直接載入插件配置為屬性的機制;以保持 AopContext 統一處理機的制
  • 調整 solon.aspect 增強對熱插撥的代理類支援
  • 調整 solon.serialization.hessian 改依賴為 sofa-hessian
  • 調整 nami.coder.hessian 改依賴為 sofa-hessian
  • 升級 snack3 為 3.2.45
  • 升級 enjoy 為 5.0.3
  • 升級 activerecord 為 5.0.3
  • 升級 beetlsql 為 3.19.2-RELEASE
  • 升級 sa-token 為 1.32.0
  • 長級 fastjson2 為 2.0.17
  • 升級 gson 為 2.10
  • 升級 protostuff 為 1.8.0

進一步了解 Solon:

項目倉庫: