Solon v1.11.0 釋出,Hello Java

帶刺的坐椅 發表於 2022-11-27
Java

一個更現代感的 Java 應用開發框架:更快、更小、更自由。沒有 Spring,沒有 Servlet,沒有 JavaEE;獨立的輕量生態。主框架僅 0.1 MB。

@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
  • 沒有 Spring,沒有 Servlet,沒有 JavaEE;獨立的輕量生態

本次更新:

  • 清理 xxx-solon-plugin 的 solon cloud 外掛包(正試由 xxx-solon-cloud-plugin 替代)
  • 外掛 solon.auth 增加 AuthAdapterSupplier 的 pathPrefix 對 adapter 規則有相同限制效果
  • 外掛 solon.web.staticfiles 增加位置對映配置支援
  • 外掛 logback-solon-plugin, log4j-solon-plugin 增加自定義 Appender
  • 外掛 sa-token-solon-plugin 允許沒有 sa-token 配置
  • 修復 xxl-job-solon-cloud-plugin 沒配置時會出錯的問題
  • 增加 @Body Map<String,String> paramMap 注入方式支援,用於注入 ctx.paramMap()
  • 增加 @Cookie("Token") String token 注入方式支援,用於注入 ctx.cookie()
  • 調整 SessionStateBase 對 cookieSet 的處理
  • 升級 sa-token 為 1.33.0
  • 升級 sqltoy 為 5.2.21

進一步瞭解 Solon:

專案倉庫: