助力信创国产化,Solon v2.2.9 发布

news2024/10/6 22:25:49

Solon 是一个高效的 Java 应用开发框架:更快、更小、更简单。它不是 Spring、没有使用 Servlet、JavaEE 接口,是一个有自己接口标准的开放生态。可以为应用软件国产化提供支持,助力信创建设。

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

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

《bilibili - solon 入门探索》

本次更新:

  • 新增 wxjava-xxx-solon-plugin 插件
  • 插件 solon.serialization.jackson 增加几个默认特性,增强与fastjson的兼容度
  • 插件 solon.serialization.snack3 增加嵌套泛型支持 List<List>、Map<String,List>
  • 插件 dubbo-solon-plugin 增加 DubboFilterTracing 类
  • 插件 solon.scheduling.simple 增加单计划任务的起停控制
  • 增加 solon.boot.jlhttp 插件 JlHttpServer 类,提供可复用支持
  • 增加 solon.boot.jdkhttp 插件 JdkHttpServer 类,提供可复用支持
  • 增加 solon.boot.smarthttp 插件 SmHttpServer 类,提供可复用支持
  • 增加 动态代理时异常时的友好提示
  • 增加 “/WEB-INF/templates/” 后端模板目录约定支持
  • 优化 solon.boot.xxx “Server:main:” 打印
  • 优化 solon.cloud.tracing Span 的 name 和 tags
  • 优化 LifecycleBean 组件增加自动排位!!!
  • 优化 ctx.realIp() 获取算法
  • 优化 jlhttp 状态码超界的处理
  • 优化 solon.cloud.tracing @Tracing 增加全类名的记录
  • 优化 时区解析统一由 ZoneId 处理???
  • 调整 solon.serialization.snack3 从 solon-lib 移到 solon-api,更方便 json 的选择
  • wood 升为 1.1.0 (拆分为: wood 和 wood.plus)
  • water 升为 2.20.3 (配套 wood 拆分)
  • mybatis 升为 3.5.13
  • fastjson2 升为 2.0.26
  • beetl 升为 3.15.1.RELEASE
  • beetlsql 升为 3.21.0-RELEASE
  • snack3 升为 3.2.64

项目仓库:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/420379.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【SSM框架】Spring更简单的存储对象

Spring更简单的存储对象将Bean对象简单存储到Spring容器中使用五大类注解来存储Bean对象使⽤ Controller 存储 bean 对象使⽤ Service 存储 bean 对象使⽤ Repository 存储 bean 对象使⽤ Component 存储 bean 对象使⽤ Configuration为什么要有五大类注解五大类注解的关系五大…

【C++初阶】类与对象(一)

文章目录一、面向过程和面向对象初步认识二、类的引入三、类的定义四、类的访问限定符及封装1 、访问限定符2.封装五、类的作用域六、类的实例化七、类对象模型1.探究存储方式2.结构体内存对齐规则八、this指针1、this指针的引出2.this指针的特性八、C语言和C实现Stack的对比总…

漏洞挖掘小技巧(一)

Swagger UI反射XSS Swagger UI是目前最流行的RestFul接口API文档和测试工具。 首先写一个 json的 XSS 负载 https://gist.githubusercontent.com/ramkrivas/c47c4a49bea5f3ff99a9e6229298a6ba/raw/e2e610ea302541a37604c7df8bcaebdcb109b3ba/xsstest.json回到Swagger UI&…

轮廓特征属性及应用

轮廓特征属性及应用 1)凸包 凸包(Convex Hull)是一个计算机几何图形学中的概念, 简单来说, 给定二维平面点集, 凸包就是能够将最外层的点连接起来构成的凸多边形, 它能够包含点集中所有的点。物体的凸包检测常应用在物体识别、手势识别及边界检测等领域。 寻找凸包—cv2.co…

数字中国背景下,企业加大数据决策投入,零代码+商业智能成为新选型 | 爱分析洞察

自“十四五”规划将“加快数字化发展&#xff0c;建设数字中国”单独成篇&#xff0c;从国家战略层面明确了数字化转型的重要性&#xff0c;国家层面有关支持数字经济发展的顶层设计与配套政策此后相继出台。2023年3月1日&#xff0c;中共中央、国务院印发了《数字中国建设整体…

一、基础算法7:位运算 模板题+算法模板(二进制中1的个数)

文章目录算法模板求n的第k位数字返回n的最后一位1求一个数x的二进制中1的个数模板模板题二进制中1的个数原题链接题目题解补充输出一个数n的补码x的二进制并按位输出关于原码&#xff0c;反码&#xff0c;补码算法模板 求n的第k位数字 n >> k & 1返回n的最后一位1 …

iOS-关联对象(Objective-C)

关联对象关联对象的应用分类中的 property使用关联对象关联对象的实现objc_setAssociatedObjectAssociationsManager如何存储 ObjcAssociationnew_value ! nilnew_value nilsetHasAssociatedObjects()objc_getAssociatedObjectobjc_removeAssociatedObjects写到最后关于应用关…

ESP32设备驱动-VEML6040颜色传感器驱动

VEML6040颜色传感器驱动 文章目录 VEML6040颜色传感器驱动1、VEML6040介绍2、硬件准备3、软件准备4、驱动实现1、VEML6040介绍 VEML6040 颜色传感器可感应红光、绿光、蓝光和白光,并使用 CMOS 工艺将光电二极管、放大器和模拟/数字电路集成到单个芯片中。 通过应用颜色传感器…

【Spring】— Spring基础学习

Spring基础学习一、Spring概述1.什么是Spring2.Spring的下载及目录结构2.1 Spring框架包2.2 第三方依赖包二、控制反转&#xff08;IoC&#xff09;与依赖注入&#xff08;DI&#xff09;1.什么是控制反转&#xff08;IoC&#xff09;2.什么是依赖注入&#xff08;DI&#xff0…

u-view2.0 引入iconfont(阿里字体图标库)详细步骤!

uView已通过大量的实践中&#xff0c;收集了用户最有可能需要用到的图标&#xff0c;见Icon 图标&#xff0c;但我们也相信&#xff0c;它肯定无法覆盖所有的场景和需求。 用户也可以使用标签的方式&#xff0c;自行引入字体图标&#xff0c;为何要通过扩展的方式集成呢&#…

树莓派 ROS 学习(二)小乌龟 turtlesim

添加链接描述 目录 创建catkin工作空间 小乌龟turtlesim节点 启动节点 turtlesim节点 turtlesim 话题与消息 查看话题的消息类型 查看消息类型的具体内容 查看话题的值 改变背景颜色 获取参数列表 获取参数值 修改颜色 控制乌龟运动 通过发布话题控制乌龟运动 通过键盘控制乌龟…

力扣sql中等篇练习(一)

力扣sql中等篇练习(一) 1 第二高的薪水 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 SELECT IFNULL((SELECT distinct salary SecondHighestSalaryFROM EmployeeORDER BY salary desclimit 1,1),null ) SecondHighestSalary1.3 运行截图 2 分数排…

【C++】命名空间,缺省参数,函数重载,引用,内联函数,auto 关键字

目录1. 命名空间2. 输入输出3. 缺省参数4. 函数重载为什么C支持函数重载&#xff1f;5. 引用5.1 引用作函数参数&#xff08;输出型参数&#xff09;5.2 作函数的返回值关于函数的返回值&#xff1a;5.3 引用权限关于类型转换&#xff1a;5.4 引用和指针6. 内联函数6.1 C推荐的…

2、在vscode上创建第一个C++多文件编译工程(即如何添加task.json和launch.json文件到工程里面)

文章目录1、新建一个工程目录2、在vscode打开刚建立的工程目录&#xff0c;建立cpp文件3、设置C/C编译的选项:c_cpp_properties.json&#xff08;1&#xff09;鼠标点在.c的源文件内部&#xff0c;按 CtrlShiftp 快捷键&#xff0c;在弹出的界面中选择: [C/C:编配置(UI)]&#…

RK3568平台开发系列讲解(Linux系统篇)Linux 内部的全景图

🚀返回专栏总目录 文章目录 一、Linus 是谁二、Linux 内核全景图三、漫画:Linux 内核都有啥沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们一起认识这样一个计算机黑客,看看他是怎样创造出影响世界的 Linux,然后进一步了解一下 Linux 的内部结构。 一、…

从0学习stm32第二天

1.存储器结构 程序存存储器&#xff0c;数据存储器&#xff0c;寄存器和输入输出端口&#xff0c;被组织在同一个4G的线性地址空间中&#xff1b; 可以通过地址的方法访问对应的存储器或寄存器&#xff1b; 比如 0X12 34 56 78在内存中存储 低地址----------------------…

vue3组合式API和vite+ts

创建项目 npm create vitelatest . 选择ts版本 直接安装依赖项目启动 vite项目配置路径 cnpm i --save-dev types/node 让ts项目支持node环境 vite构建工具中配置了路径加载组件 import HelloWorld from "/components/HelloWorld.vue"; 界面显示正常 引入文件路径报错…

STM32嵌入式面试知识点总结

一、STM32F1和F4的区别&#xff1f; 解答&#xff1a; 参看&#xff1a;STM32开发 – STM32初识 内核不同&#xff1a;F1是Cortex-M3内核&#xff0c;F4是Cortex-M4内核&#xff1b; 主频不同&#xff1a;F1主频72MHz&#xff0c;F4主频168MHz&#xff1b; 浮点运算&#xff…

midjourney入口是什么?怎么使用midjourney

最近有很多小伙伴在咨询我midjourney的事情&#xff0c;因为他们看过midjourney的神奇能力&#xff0c;忍不住想玩一下&#xff0c;都在问midjourney要去哪里玩&#xff1f;midjourney入口是什么&#xff1f;小编觉得今天有必要来给大家详细的说说。 一.midjourney是什么 Midj…

Kafka消息发送流程

消息发送高阶用法 自定义拦截器 自定义序列化 自定义分区器 核心参数 https://kafka.apache.org/0110/documentation.html 参数名描述默认值bootstrap.servers格式为host1:port1,host2:port2,…key.serializervalue.serializerretries0retry.backoff.ms上次发送失败&…