Solon v2.2.1 发布。向 Graalvm Native 友好靠近

Solon框架的最新更新引入了SolonAPT项目,助力简化GraalvmNative打包过程。新增了@ProxyComponent和@SolonMain注解,优化了SolonBean生命周期。此外,更新还包括多个插件的改进,如支持更高效的启动、更高的QPS和更小的打包体积。框架还提升了兼容性和国产化方案,提供丰富的生态插件,旨在降低IT和运维成本,简化开发体验。
摘要由CSDN通过智能技术生成

本次更新最重要的是增加了 Solon APT 项目,为更简单的完成 Graalvm Native 打包提供了帮助;其次是增加了 @ProxyComponent 和 @SolonMain 注解;以及优化了 Solon Bean 的生命周期

简介:

Solon 是一个高效的应用开发框架:更快、更小、更简单。生态情况包括:

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 入门探索》

本次更新:
  • 新增 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
项目仓库:
项目官网:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值