Java 新的生態型應用開發框架,Solon :更快、更小、更簡單。從零開始構建,有自己的標準規范與開放生態:
- 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);
}
}
本次更新:
- 增加 afterInjection() 對注入的檢測及非必須注入的支持
- 增加 @Bean demo(...) 對注入的檢測及非必須注入的支持
- 增加 okhttp 原生編譯支持配置
- 增加 solon.scheduling.quartz 原生編譯支持配置
- 增加 water-solon-cloud-plugin 原生編譯支持配置
- 增加 solon.aot 功能總體上實現(細節優需優化)
- 增加 VarGater::check 接口,用于在容器啟動時做收集檢測
- 增加 Router::caseSensitive 接口,用于設定區分大小寫
- 調整 solon.test 增加代理類的字段注入
- 調整 solon.proxy.apt 的代理生成能力,轉移到 solon.aot
- 調整 solon aot 時,取消 Runtime.getRuntime().addShutdownHook
- 調整 solon cloud 在 aot 時不做注冊處理
- 調整 mybatis 適配的環境id規則保持也數據源bean同名
- 調整 Fastjson2Serializer 增加內部的上下文復用
- 調整 solon 路徑分析器添加區分大小寫的控制
- 調整 solon-maven-plugin 打包時,排除 provided 的包;支持配置 include 和 exclude 配置
- 調整 sa-token-solon-plugin 全局過濾器的 BeforeAuth 認證設為不受 includeList 與 excludeList 的限制,所有請求都會進入
- 修復 native 運行時,可能出現找不到資源文件而報錯
- mybatis-flex 升為 1.2.0
- wood 升為 1.1.1
項目倉庫:
- gitee:https://gitee.com/noear/solon
- github:https://github.com/noear/solon