Solon v2.2.17 发布,Java 新的生态型应用开发框架
相对于 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 项目仓库: gitee:https://gitee.com/noear/solon github:https://github.com/noear/solon