Solon 是一個高效的 Java 應用開發框架:更快、更小、更簡單。也是一個有自己接口標準規範的開放生態。
150來個生態插件,覆蓋各種不同的應用開發場景:
相對於 Spring Boot 和 Spring Cloud 的項目:
- 啓動快 5 ~ 10 倍。 (更快)
- qps 高 2~ 3 倍。 (更高)
- 運行時內存節省 1/3 ~ 1/2。 (更少)
- 打包可以縮小到 1/2 ~ 1/10;比如,300Mb 的變成了 23Mb。 (更小)
- 同時支持 jdk8, jdk11, jdk17, jdk20。
似曾相似的體驗,入門更簡單,遷移很方便:
@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);
}
}
入門探索視頻(用戶錄製):
本次更新:
- 增加 @Path 替代 @PathVar(簡短些),不過這個註解本身意義不大
- 增加 ResourceUtil::findResource 接口(ssl.keyStore 改用此接口)
- 增加 "application.xxx" 配置的棄用警告日誌
- 增加 "solon.config" 多文件與內外文件支持
- 增加 "solon.config.add"(添加外部) 配置,用於替代 "solon.config"
- 增加 "solon.config.load"(加載內部) 配置,支持數組配置
- 增加 Props::getMap 接口,替代 Props::getXmap
- 調整 file-s3-solon-cloud-plugin 插件, "file.default"改爲動態獲取,增加bucket接口
- 調整 maven 版本管理,由 ${xxx.ver} 改爲 $
- 優化 請求參數 required 的提示
- 優化 Props::getProp 減少 forEach 次數
- 修復 solon.scheduling.simple 插件,在啓動卡時後不能運行 cron=* * * * * ?
- 修復 AopContext::ProxyComponent 不能被 copyto 的問題
- sqltoy 升爲 5.2.41
- wood 升爲 1.0.9
- snack3 升爲 3.2.62
- hutool 升爲 5.8.16
- liteflow 升爲 2.10.1