首页 > 编程语言 >Solon v2.1.4 发布。支持 java、kotlin、groovy!

Solon v2.1.4 发布。支持 java、kotlin、groovy!

时间:2023-02-22 00:11:36浏览次数:59  
标签:groovy 插件 java kotlin 支持 Solon Spring solon

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

最近,与小诺开源团队合作发布了: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来个生态插件,覆盖各种不同的应用开发场景:

相对于 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);
    }
}

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

《bilibili - solon 入门探索》

本次更新:

  • 新增 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:

项目仓库:

标签:groovy,插件,java,kotlin,支持,Solon,Spring,solon
From: https://www.cnblogs.com/noear/p/17142985.html

相关文章

  • JavaScript相关操作
    JQUERY--HTML标签属性操作$('#id').attr('attr_name','attr_value');//设置单一属性值$('#id').attr({'attr_name1':'attr_value1','attr_name2':'attr_value2'});//......
  • Java Web(八)JSP
    JSP一.入门1.概念JavaServerPages,Java服务端页面一种动态的网页技术,其中既可以定义HTML、JS、CSS等静态内容,还可以定义Java代码的动态内容JSP=HTML+Java2.快速入门导入......
  • java代码的运行
    1. 运行流程    编译后的class文件加载到虚拟机中,加载后的Java类会被存放于方法区,运行时执行方法区内的代码。               ......
  • Java代码工具之中英文语句分词
    在自然语言处理中比较热门的操作就是中文或英文语句分词了,分词就是按照不同的算法和参数将语句分成若干词汇。拆分后的关键词可以进行词频统计或者词云图片生成等,能够快速方......
  • javaweb-filter实现登录拦击功能
    javaweb-filter实现登录拦击功能要求:用户登录了之后才能进入主页,注销的之后就不能进入主页;(在过滤器中实现!)1、用户登录页面实现前端页面代码<%@pagecontentType="text......
  • Java网络编程
    UDP和TCP网络协议,基于Socket的UDP和TCP网络编程的介绍。Author:MsuenbDate:2023-02-21网络基础知识每个计算设备上都有若干个网卡,每个网卡上有(全球唯一)单独的硬件......
  • [Java基础]自动装箱与自动拆箱--为什么整型比较必须用equals?
    偶然在项目里看到了下面这行代码,大家觉得这个if判断会存在什么问题吗?if(129==StatusEnum.OK.getCode()){//其中OK是Integercode=129System.out.println("ok");......
  • 如何利用javaweb实现数据的可视化
    描述之前一直使用html进行网页版的数据库查询啥的,没有图片的参与,也没有将一条条数据变成较为直观的图画形式,这就是来实现以下数据的图画形式了解及基础说明通过查阅资料......
  • Java多线程技能-线程的启动
    java多线程技能技术点:线程的启动如何使线程暂停如何使线程停止线程的优先级线程安全相关的问题进程和线程的定义及多线程的优点进程:进程是受操作系统管理的基本......
  • Java IO模型
    什么是IOIO是输入input输出output的首字母缩写形式,直观意思是计算机输入输出,它描述的是计算机的数据流动的过程;应用程序的IO操作分为两种动作:IO调用和IO执行。IO调用是......