一個更現代感的 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);
}
}
入門探索影片(使用者錄製):
相對於 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