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

寻技术 JAVA编程 2023年08月05日 77

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

项目仓库:

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

用微信“扫一扫”