Solon v2.2.17 釋出,Java 新的生態型應用開發框架

帶刺的坐椅發表於2023-05-17

Solon 是什麼框架?

一個,Java 新的生態型應用開發框架。它從零開始構建,有自己的標準規範與開放生態。與其他框架相比,它解決了一個重要的痛點:啟動慢,費資源。

解決痛點?

由於Solon Bean容器的獨特設計,Solon 不會因為擴充套件依賴變多而啟動很慢(開發除錯時,爽快)!!!以開源專案“小諾”為例:

以前有幾個句這麼說的:“時間就是金錢,效率就是生命”,“天下武功,唯快不破”。

相對於 Spring Boot 和 Spring Cloud 的專案:

  • 啟動快 5 ~ 10 倍。 (更快)
  • qps 高 2~ 3 倍。 (更高)
  • 執行時記憶體節省 1/3 ~ 1/2。 (更少)
  • 打包可以縮小到 1/2 ~ 1/10;比如,300Mb 的變成了 23Mb。 (更小)
  • 同時支援 jdk8, jdk11, jdk17, jdk20, graalvm native
  • (不會) 因為依賴變多而啟動很慢(以小諾專案為例 “snowy-spring 版” 啟動 30-50秒,“snowy-solon 版” 啟動3-5秒)

似曾相識的體驗,入門更簡單,遷移很方便:

@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 Native 開發
  • 完成 Solon Aot 開發
  • 增加 @Inject 注入 bean 的 required 檢測支援
  • 增加 快取服務適配類可傳入客戶端的構建函式
  • 增加 DynamicDataSource 無參建構函式,方便定製
  • 增加 CloudDiscoveryService 代理類,以支援發現代理的配置
  • 增加 ctx:pathAsLower() 介面
  • 增加 solon.boot.undertow 原生編譯配置申明
  • 增加 solon.sessionstate.jwt 原生編譯配置申明
  • 增加 solon.logging.logback 原生編譯配置申明
  • 增加 solon.logging.log4j2 原生編譯配置申明
  • 增加 solon cloud 發現代理的配置支援(在 k8s 環境,可直接轉發到 k8s sev 上)
  • 調整 aot 註冊時對空類名進行過濾
  • 增加 aot 配置注入實體的自動登記處理
  • 增加 aot 函式包裝的返回可序列化型別的自動登記處理
  • 增加 aot 有注入jdk代理的自動登記處理
  • 增加 aot jdbc 驅動的的自動登記處理
  • 增加 aot 通用反射代理的自動登記處理
  • 調整 aot 完成後的關閉處理方式
  • 增強 solon.boot.jetty 在原生執行時相容性
  • 增強 solon.boot.undertow 在原生執行時相容性
  • 調整 Context::commit 函式位置,遷移到別處
  • 調整 預熱工具在 aot 時跳過執行
  • 調整 MethodWrap 和 BeanWrap 的兩個異常解包處理
  • 解決 solon.aot 部分型別不能解析識別的問題
  • smart-socket 升級為 1.5.27
  • smart-http 升級為 1.2.0
  • fastjson2 升為 2.0.31
  • mybatis flex 升為 1.2.1
  • polaris 升為 1.12.2
  • beetl 升為 3.15.4.RELEASE
  • beetlsql 升為 3.22.0-RELEASE
  • sqltoy 升為 5.2.45
  • liteflow 升為 2.10.2
  • forest 升為 1.5.31
  • dbvisitor 升為 5.3.1

專案倉庫:

相關文章