Solon v2.2.1 发布。向 Graalvm Native 友好靠近
本次更新最重要的是增加了 Solon APT 项目,为更简单的完成 Graalvm Native 打包提供了帮助;其次是增加了 @ProxyComponent 和 @SolonMain 注解;以及优化了 Solon Bean 的生命周期。
简介:
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);
}
}
入门探索视频(用户录制):
本次更新:
- 新增 solon.proxy 插件
- 新增 solon.proxy.apt 插件
- 新增 solon.graalvm 插件
- 新增 solon.graalvm.apt 插件
- 新增 solon.view 插件,为所有视频插件提供公共的配置和工具帮助
- 调整 mybatis-solon-plugin 插件,取消 mappers 检测异常,改为警告日志
- 调整 captcha-solon-plugin 插件,延迟内部 Bean 的构建时机
- 调整 BeanInvocationHandler 内部代码,简化并增加 AptProxy 调用
- 调整 dateAsFormat 配置增加对 LocalDate 和 LocalDateTime 的支持
- 调整 Plugin::Init 标为弃用, 并由 InitializingBean 接口接替
- 调整 Plugin 接口不再做为组件形态,有生命周期需求的可改为 LifecycleBean 接口
- 调整 Plugin Spi 实例化改为 Bean 模式,之前为不能注入的 New 模式
- 调整 AopContext 标注 beanOnloaded 为弃用。事件概念调整为容器内部的生命周期概念
- 调整 AopContext 增加 start(),stop(),lifecycle() 接口;强化生命周期管理概念
- 调整 Lifecycle 增加可异常选择,并标注 @FunctionalInterface
- 调整 调整打包时主函数的提示信息
- 增加 模板对 templates 目录的支持
- 增加 SerializationConfig,为渲染器提供统一的配置帮助
- 增加 ContextPathFilter 与 cfg().serverContextPath 配置同步
- 增加 应用属性配置内部引用增加默认值支持及环境变量引用
- 增加 @ProxyComponent 注解,使用时强依赖于 solon.proxy 插件
- 增加 @SolonMain 主解,作为 apt 生成 Graalvm Native 元信息配置的入口
- 增加 apt 代理实现方式(做为 asm 实现的补充),为全功能实现 Graalvm Native 打包提供支持
- 增加 InitializingBean 接口
- 增加 LifecycleBean 接口,扩展自 InitializingBean 和 Lifecycle
- 增加 ClassUtil 工具类
- sqltoy 升级为 5.2.37
项目仓库:
项目官网:
Solon v2.2.1 发布。向 Graalvm Native 友好靠近的更多相关文章
- Solon 1.5.67 发布,增加 GraalVm Native 支持
Solon 已有120个生态扩展插件,此次更新主要为细节打磨: 添加 solon.extend.graalvm 插件,用于适配 graalvm native image 模式 从此,solon 进入 ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本发布
(新年巨献) RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本发布 历时数月,RDIFramework.NET V2.8版本发布了,感谢大家的支持. RDIFram ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.7 版本发布
历时数月,RDIFramework.NET V2.7 版本发布了,感谢大家的支持. RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,为企业或个人在.NET环境下快速开发系 ...
- go-wingui 2018 全新 v2.0 版本发布,包含重大更新!
go-wingui 2018 全新 v2.0 版本发布,包含重大更新!使用新版CEF内核Chromium 63.0.3239.109,页面可以使用最新的css3,html5技术.使用delphi7重写 ...
- XXL-JOB v2.3.0 发布 | 易用性增强
转: XXL-JOB v2.3.0 发布 | 易用性增强 v2.3.0 Release Notes 1.[新增]调度过期策略:调度中心错过调度时间的补偿处理策略,包括:忽略.立即补偿触发一次等: 2. ...
- Solon v2.0 大版本发布。提效率!降成本!
一个高效的 Java 应用开发框架:更快.更小.更简单.不是 Spring,没有 Servlet,也无关 JavaEE:新兴独立的开放生态.主框架仅 0.1 MB. 150来个生态插件,覆盖各种不同的 ...
- xmake v2.6.2 发布,新增 Linux 内核驱动模块构建支持
Xmake 是一个基于 Lua 的轻量级跨平台构建工具. 它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时. 它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLis ...
- graalvm native image 试用
graalvm 提供的native 模式,可以加速应用的启动,不同可以让应用不再依赖jvm 运行时环境,但是 也有一些限制 参考 https://github.com/oracle/graal/blo ...
- xmake v2.3.7 发布, 新增 tinyc 和 emscripten 工具链支持
xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能 ...
- Solon 1.2.12 发布,新的惊喜
Solon 一个类似Springboot的微型开发框架.强调:克制 + 简洁 + 开放的原则.力求:更小.更快.更自由的体验. 所谓更小: 内核0.1m,最小Web开发单位0.2m(相比Springb ...
随机推荐
- Android-helloword
环境早已配置完毕,就是后来选择API的时候出现了一点问题,唉,追求时尚,选择最新版本的API,结果就悲剧了,跑不起来,也找不到原因.后来换成Android 4.22 17API Level就行了... ...
- 从0到1学Python丨图像平滑方法的两种非线性滤波:中值滤波、双边滤波
摘要:常用于消除噪声的图像平滑方法包括三种线性滤波(均值滤波.方框滤波.高斯滤波)和两种非线性滤波(中值滤波.双边滤波),本文将详细讲解两种非线性滤波方法. 本文分享自华为云社区<[Python ...
- 动态更改Spring定时任务Cron表达式的优雅方案
"Most of you are familiar with the virtues of a programmer. There are three, of course: lazines ...
- 带你读AI论文丨针对文字识别的多模态半监督方法
摘要:本文提出了一种针对文字识别的多模态半监督方法,具体来说,作者首先使用teacher-student网络进行半监督学习,然后在视觉.语义以及视觉和语义的融合特征上,都进行了一致性约束. 本文分享自 ...
- matlab狄拉克锥的三维图
石墨烯(graphene)中的狄拉克锥(Dirac cone)图形.直接按照能级公式绘图,公式参考[1]中 energy of the electrons 公式. %matlab代码 clear; g ...
- MassTransit | 基于StateMachine实现Saga编排式分布式事务
什么是状态机 状态机作为一种程序开发范例,在实际的应用开发中有很多的应用场景,其中.NET 中的async/await 的核心底层实现就是基于状态机机制.状态机分为两种:有限状态机和无限状态机,本文介 ...
- [OpenCV实战]51 基于OpenCV实现图像极坐标变换与逆变换
在图像处理领域中,经常通过极坐标与笛卡尔直角坐标的互转来实现图像中圆形转为方形,或者通过极坐标反变换实现方形转圆形.例如钟表的表盘,人眼虹膜,医学血管断层都需要用到极坐标变换来实现圆转方. 文章目录 ...
- 升级csproj文件为vs2017工程格式(SDK样式)
csproj文件在VS2017后格式变更为SDK样式.framework项目如果需要源链接等等功能,需要进行手动升级. 升级过程 升级需要Project2015To2017Nuget包. > d ...
- node设置下载源
// 设置镜像源 npm config set registry https://registry.npm.taobao.org // 查看当前源 npm config get registry
- 借助Radamsa变异数据(初探)
Radamsa 介绍 Radamsa是一款测试用例生成器,通常用来测试程序对格式错误和潜在恶意输入的承受能力(对程序进行模糊测试).它通过你的输入来返回变异后的数据.它的主要卖点是,它已经在真正重要的 ...