用 Java?试试国产轻量的 Solon v1.11.4(带视频)

时间:2022-12-13 09:10:11

一个更现代感的 Java 应用开发框架:更快、更小、更*。没有 Spring,没有 Servlet,没有 JavaEE;独立的轻量生态。主框架仅 0.1 MB。

@Controller
public class App {
    public static void main(String[] args) {
        Solon.start(App.class, args);
    }

    @Get
    @Socket
    @Mapping("/hello")
    public String hello(@Param(defaultValue = "java") String name) {
        return String.format("Hello %s!", name);
    }
}

入门探索视频(用户录制):

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

  • 启动快 5 ~ 10 倍。 (更快)
  • qps 高 2~ 3 倍。 (更高)
  • 运行时内存节省 1/3 ~ 1/2。 (更少)
  • 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
  • 基于服务 name 进行注册发现 与 k8s svc 相互对应
  • 支持 Service Mesh 架构部署方案
  • 同时支持 jdk8, jdk11, jdk17, jdk19
  • 没有 Spring,没有 Servlet,没有 JavaEE;独立的轻量生态

本次更新:

  • 新增 solon.web.webdav 插件 (类似于网盘的能力)
  • 新增 solon.logging.simple 插件(替代 solon.logging.impl)
  • 新增 solon.scheduling 插件
  • 新增 solon.scheduling.simple 插件(替代 solon.schedule;更标准化)
  • 新增 solon.scheduling.quartz 插件(替代 quartz-solon-plugin;更标准化)
  • 新增 quartz-solon-cloud-plugin 插件
  • 插件 quartz-solon-plugin 增加函数执行支持,增加持久化和远程管理支持
  • 插件 local-solon-cloud-plugin 添加 server 配置支持(只能指向本地,用于存放数据)
  • 插件 solon.web.staticfiles 允许 maxAge=-1 配置(从而取消 URLConnection 的缓存)
  • 插件 solon.web.staticfiles 增加资源仓库预热支持
  • 插件 solon.boot.jlhttp 调整server代码,不再限制 method (用于支持 webdav)
  • 插件 solon.boot 调整 coreTheads,maxTheads 配置,支持部数模式 x16(表示cpu核数的16倍)
  • 增加 enableWebSocketMvc,enableSocketMvc 开关控制
  • 增加 mybatis-solon-plugin 插件对 Mappers 有无的检查并提示
  • 增加 DownloadedFile,UploadedFile 获取属性,原字段标为弃用(后面会改为私有)
  • 调整 solon.cache.* 插件,开放 CacheService 内部的 client
  • 调整 ctx.body() 优先采用 request content-type 上的编码
  • 修复 servletContext 使用 cookieRemove() 移除 cookie 时,遗留空值 cookie 的问题
  • 修复 调试模式下,静态文件会缓存的问题
  • 测试 nami 做为注解式 http 客户端的使用
  • 升级 smart-http 为 1.1.19
  • 升级 wood 为 1.0.7
  • 升级 sqltoy 为 5.2.25

进一步了解 Solon:

项目仓库: