首页 > 编程语言 >Solon v2.2.17 发布,Java 新的生态型应用开发框架

Solon v2.2.17 发布,Java 新的生态型应用开发框架

时间:2023-05-17 21:22:06浏览次数:55  
标签:原生 Java String 17 v2.2 aot Solon 增加 solon

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

  • 启动快 5 ~ 10 倍。 (更快)
  • qps 高 2~ 3 倍。 (更高)
  • 运行时内存节省 1/3 ~ 1/2。 (更少)
  • 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
  • 同时支持 jdk8, jdk11, jdk17, jdk20, graalvm native
  • (不会) 因为依赖变多而启动很慢(以小诺项目为例 “snowy-spring 版” 启动 30-50秒,“snowy-solon 版” 启动3-5秒)

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

@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 Native 开发
  • 完成 Solon Aot 开发
  • 增加 @Inject 注入 bean 的 required 检测支持
  • 增加 缓存服务适配类可传入客户端的构建函数
  • 增加 DynamicDataSource 无参构造函数,方便定制
  • 增加 CloudDiscoveryService 代理类,以支持发现代理的配置
  • 增加 ctx:pathAsLower() 接口
  • 增加 solon.boot.undertow 原生编译配置申明
  • 增加 solon.sessionstate.jwt 原生编译配置申明
  • 增加 solon.logging.logback 原生编译配置申明
  • 增加 solon.logging.log4j2 原生编译配置申明
  • 增加 solon cloud 发现代理的配置支持(在 k8s 环境,可直接转发到 k8s sev 上)
  • 调整 aot 注册时对空类名进行过滤
  • 增加 aot 配置注入实体的自动登记处理
  • 增加 aot 函数包装的返回可序列化类型的自动登记处理
  • 增加 aot 有注入jdk代理的自动登记处理
  • 增加 aot jdbc 驱动的的自动登记处理
  • 增加 aot 通用反射代理的自动登记处理
  • 调整 aot 完成后的关闭处理方式
  • 增强 solon.boot.jetty 在原生运行时兼容性
  • 增强 solon.boot.undertow 在原生运行时兼容性
  • 调整 Context::commit 函数位置,迁移到别处
  • 调整 预热工具在 aot 时跳过执行
  • 调整 MethodWrap 和 BeanWrap 的两个异常解包处理
  • 解决 solon.aot 部分类型不能解析识别的问题
  • smart-socket 升级为 1.5.27
  • smart-http 升级为 1.2.0
  • fastjson2 升为 2.0.31
  • mybatis flex 升为 1.2.1
  • polaris 升为 1.12.2
  • beetl 升为 3.15.4.RELEASE
  • beetlsql 升为 3.22.0-RELEASE
  • sqltoy 升为 5.2.45
  • liteflow 升为 2.10.2
  • forest 升为 1.5.31
  • dbvisitor 升为 5.3.1

项目仓库:

标签:原生,Java,String,17,v2.2,aot,Solon,增加,solon
From: https://www.cnblogs.com/noear/p/17410322.html

相关文章

  • 17、什么是反射?
    所谓反射,是java在运行时进行自我观察的能力,通过class、constructor、field、method四个方法获取一个类的各个组成部分。在Java运行时环境中,对任意一个类,可以知道类有哪些属性和方法。这种动态获取类的信息以及动态调用对象的方法的功能来自于反射机制。......
  • 18、什么是 java 序列化?什么情况下需要序列化?
    序列化就是一种用来处理对象流的机制。将对象的内容流化,将流化后的对象传输于网络之间。序列化是通过实现serializable接口,该接口没有需要实现的方法,implementSerializable只是为了标注该对象是可被序列化的,使用一个输出流(FileOutputStream)来构造一个ObjectOutputStream对象,接......
  • 深入理解JavaScript之作用域链与闭包
    作用域作用域是指程序源代码中定义变量的区域。实际上描述的就是查找变量的范围,作用域必须有的两个功能就是存储变量以及查找变量,作用域就是发挥这两个作用以及更多作用的规则。作用域规定了如何查找变量,也就是确定当前执行代码对变量的访问权限。词法作用域和动态作用域词法作用域......
  • 全面理解Java内存模型
    Java内存模型即JavaMemoryModel,简称JMM。JMM定义了Java虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共享变量的可见性以及如何在需要的......
  • 每日总结 5.17
    今日进行了python的学习。对于昨天的测试代码进行了分析学习。R7-1字典合并d1=eval(input())d2=eval(input())forkeyind2.keys():d1[key]=d1.get(key,0)+d2[key]t=list(d1.items())t.sort(key=lambdax:ord(x[0])iftype(x[0])==strelsex[0])......
  • JavaDoc
    JavaDocjavadoc命令是用来生成自己的API文档的参数信息@author作者名@version版本名@since指明需要最早使用的jdk版本@param参数名@return返回值情况@throws异常抛出情况packagebase;/***@authorkuangshen*@version1.0*since1.8*/publicclas......
  • 2023/5/17
    L1-009N个数求和分数 20全屏浏览题目作者 陈越单位 浙江大学本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。输入格式:输入第一行给出一个正整数N(≤100)。随后一行按格式a1/b......
  • Java学习笔记(十三)
    1.Java异常处理机制异常的处理机制一:try-catch-finally格式:异常的处理机制二:throws用于方法的声明中,用于向外部抛出异常。2.运行时异常与一般异常有何异同? 3.说几个你常见到的异常ArrayIndexOutOfBoundsException数组索引越界异常NullPointerException空指针异常A......
  • 5.17
    今天写了下web的登陆界面<%@pagelanguage="java"import="javax.sql.*"pageEncoding="utf-8"%><%@pageerrorPage="error.jsp"%><html><head><title>图书管理系统</title><linkrel="stylesheet&qu......
  • 浅谈Java SE、Java EE、Java ME三者的区别
    现在一个个来分析 1.JavaSE(JavaPlatform,StandardEdition)。JavaSE以前称为J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。JavaSE包含了支持JavaWeb服务开发的类,并为JavaPlatform,EnterpriseEdition(JavaEE)提供基础。 2.Java......