Solon v2.1.4 发布,支持 Java/Kotlin/Groovy

科技资讯 投稿 30700 0 评论

本次发布,重点测试和验证了在 java、kotlin、groovy 三种 jvm 语言里,开箱即用的特性。并发布 Solon Initializr:

  • (也即将发布 idea 插件)

最近,与小诺开源团队合作发布了:Snowy-Solon( https://gitee.com/xiaonuoadmin/snowy-solon)

  • 有用户说原来他的电脑运行 snowy,需要50秒启动占2g内存,

  • 现在只用5秒启动占300m内存
  • 有用户说原来启动 snowy 要15秒,现在3秒多点(不同电脑表现不同)

  • 有用户说原来认为是骗人的,现在信了(指更快、更小)

  • 有用户说他们的招聘要求已标注 “熟悉 Solon 框架的优先考虑”(这是难得好的新开始)

Solon 应用开发框架的生态包括:

  • 150 来个能力扩展插件

  • java、kotlin、groovy 三种语言开箱即用的特性

  • 官网 与 交流群

  • solon initializr

  • 用户落地的开源或商业项目

Solon 生产力价值:

  • 更快、更小。带来IT成本、运维成本下降

  • 更简单。节省人力成本

Solon 国产性:

  • Solon 在通讯框架、基础框架、能力框架,等方面提供了全国产的方案支持。(Java 不是国产?国产没对应的就没法了)

150来个生态插件,覆盖各种不同的应用开发场景:

Solon v2.1.4 发布,支持 Java/Kotlin/Groovy

相对于 Spring Boot 和 Spring Cloud 的项目:

  • 启动快 5 ~ 10 倍。

  • (更快)
  • qps 高 2~ 3 倍。 (更高)

  • 运行时内存节省 1/3 ~ 1/2。 (更少)

  • 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)

  • 同时支持 jdk8, jdk11, jdk17, jdk19。

似曾相似的体验,入门更简单,迁移很方便:

@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;
    }
}

入门探索视频(用户录制):

本次更新:

  • 新增 bean-searcher-solon-plugin 插件

  • 插件 solon-maven-plugin 增加 jdk19 打包支持

  • 插件 snowflake-id-solon-cloud-plugin 增加 workId 可配置支持

  • 插件 solon.test 增加 AbstractHttpTester 类,名字比 HttpTestBase 顺眼些

  • 插件 solon.test Http 测试器 增加 http(int port 接口,方便本机所有http端口测试(比如 mock server)

  • 插件 solon-test-junit4 增加 mockito-core 依赖,方便 mock 测试

  • 增加 手动检测是否有类存在的方式 Utils.hasClass(( -> AuthUtil.class

  • 修复 activerecord-solon-pllugin::修复在 ActiveRecordPlugin::start 前不能注入 DbPro 的问题

  • 修复 solon.cache.redisson 默认缓存时间没有生效的问题,及缓存键头没用起来的问题

  • 调整 solon.cache.jedis 缓存键以':'为间隔

  • 调整 Props::getByParse 增加默认值支持

  • 调整 Props::getByExpr 增加默认值支持

  • 调整 Condition 注解重新规范条件属性名

  • 调整 AopContext 增加 Condition::onMissingBean 条件属性支持

  • 优化 solon.test 排除只读类成为代理类

  • 优化 Gateway 根据路由记录数量,自动切换主处理

  • 优化 http 输出长度模式 与 chunked模式 的自动切换

  • 升级 mockito 为 4.11.0

  • 升级 beetl 为 3.14.1.RELEASE

  • 升级 sqltoy 为 5.2.34

  • 升级 snack3 为 3.2.54,支持 kotlin data

进一步了解 Solon:

  • 《想法与架构笔记》

  • 《生态预览》

  • 《与 Spring Boot 的区别?》

  • 《与 Spring Cloud 的区别?》

项目仓库:

  • gitee:https://gitee.com/noear/solon

  • github:https://github.com/noear/solon

编程笔记 » Solon v2.1.4 发布,支持 Java/Kotlin/Groovy

赞同 (119) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽