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

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

时间:2023-05-05 12:11:41浏览次数:45  
标签:solon 14 v2.2 aot Solon 增加 Java 调整 String

Java 新的生态型应用开发框架,Solon :更快、更小、更简单。从零开始构建,有自己的标准规范与开放生态:

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

本次更新:

  • 增加 afterInjection() 对注入的检测及非必须注入的支持
  • 增加 @Bean demo(...) 对注入的检测及非必须注入的支持
  • 增加 okhttp 原生编译支持配置
  • 增加 solon.scheduling.quartz 原生编译支持配置
  • 增加 water-solon-cloud-plugin 原生编译支持配置
  • 增加 solon.aot 功能总体上实现(细节优需优化)
  • 增加 VarGater::check 接口,用于在容器启动时做收集检测
  • 增加 Router::caseSensitive 接口,用于设定区分大小写
  • 调整 solon.test 增加代理类的字段注入
  • 调整 solon.proxy.apt 的代理生成能力,转移到 solon.aot
  • 调整 solon aot 时,取消 Runtime.getRuntime().addShutdownHook
  • 调整 solon cloud 在 aot 时不做注册处理
  • 调整 mybatis 适配的环境id规则保持也数据源bean同名
  • 调整 Fastjson2Serializer 增加内部的上下文复用
  • 调整 solon 路径分析器添加区分大小写的控制
  • 调整 solon-maven-plugin 打包时,排除 provided 的包;支持配置 include 和 exclude 配置
  • 调整 sa-token-solon-plugin 全局过滤器的 BeforeAuth 认证设为不受 includeList 与 excludeList 的限制,所有请求都会进入
  • 修复 native 运行时,可能出现找不到资源文件而报错
  • mybatis-flex 升为 1.2.0
  • wood 升为 1.1.1

项目仓库:

标签:solon,14,v2.2,aot,Solon,增加,Java,调整,String
From: https://www.cnblogs.com/noear/p/17373748.html

相关文章

  • 高级Java程序员必问,Redis事务终极篇
    1.简介1.1什么是Redis事务Redis事务(Transaction)通过将多个Redis操作封装为一个原子性的操作序列,确保在事务执行过程中,不会受到其他客户端的干扰。从而在保证数据一致性的同时,协调并发,提高数据操作的效率和性能。1.2Redis事务的应用场景在分布式系统和高并发场景下,事务处理......
  • [转]Java 获取操作系统的信息
    链接: https://blog.csdn.net/csdntoast/article/details/506398191获取本机的IP地址:privatestaticStringgetIpAddress()throwsUnknownHostException{InetAddressaddress=InetAddress.getLocalHost();returnaddress.getHostAddress();}......
  • java 实现简单的http客户端
    1、废话不多说,代码如下packagecom.linhuaming.test;importjava.io.InputStream;importjava.io.OutputStream;importjava.net.MalformedURLException;importjava.net.Socket;importjava.net.URL;/***http客户端测试*/publicclassHttpClientTest{pub......
  • 【javascript】typeof 和 instance of的差异
    typeof与instanceof都是判断数据类型的方法,区别如下:1.typeof会返回一个运算数的基本类型,instanceof返回的是布尔值2.instanceof可以准确判断引用数据类型,但是不能正确判断原始数据类型3.typeof虽然可以判断原始数据类型(null除外),但是无法判断引用数据类型(function除外)所以如......
  • 【Java学习笔记】Maven项目+Junit5单元测试
    1.Maven简介;Maven概念:仓库、坐标Maven坐标:描述仓库中资源的位置Maven坐标查找:https://mvnrepository.com/Maven坐标组成:-groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.Google)-artifactId:定义当前Maven项目名称(通常是模块名称)-version:定义当前Maven项目......
  • 力扣141(Java)-环形链表(简单)
    题目:给你一个链表的头节点head,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从0开始)。注意:pos不作为参数进行传递 。仅仅是为了标识......
  • Java正则提取中间段文本
    核心正则开始字符串(.*)结束字符串示例Stringa="【权益到账提醒】尊敬的客户,您好!您已获得权益礼包,【兑换码】:11223344。请妥善保管好您的兑换码,一经兑换,立即失效。";Matchermatcher=Pattern.compile("【兑换码】:(.*)。请妥善保管好您的兑换码").matcher(a);if(ma......
  • Java中数字相关的类有哪些?Nuber数字类和Math数学类详解
    前言我们在解决实际问题时,会经常对数字、日期和系统设置进行处理,比如在我们的代码中,经常会遇到一些数字&数学问题、随机数问题、日期问题和系统设置问题等。为了解决这些问题,Java给我们提供了多个处理相关问题的类,比如Number类、Math类、Random类、BigInteger类、BigDecimal类、......
  • 14、MySQL复制延迟原因及解决办法
    复制延迟原因:写入速度超过了复制速度解决办法:1、升级到mysql5.7以上版本,开启GTID功能,主库可以并发事务,支持并发传输及并行多个SQL线程2、减少大事务,将大事务拆分成小事务减少锁(和开发相关)3、sync_binlog=1加快binlog更新时间,从而加快日志复制只要事务一提交,立即写日志(默认......
  • Java01:常识
     高可用,高兴能,高并发。   writeoncerunanywhere.简单性,面向对象,可移植性,高性能,分布式,动态性,多线程,安全性,健壮性。java三大版本:JavaSE:标准版(桌面程序,控制台开发)嵌入式版本已经寄了。JavaEE:E企业级开发(web端,服务器开发)JDKJREJVMJDK:JavaDevelop......