一个更现代感的 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);
}
}

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

《bilibili - solon 入门探索》

相对于 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
  • 插件 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:

项目仓库:

用 Java?试试国产轻量的 Solon v1.11.4(带视频)的更多相关文章

  1. 对标 Spring Boot & Cloud ,轻量框架 Solon 1.4.8 发布

    Solon 是一个轻量的Java基础开发框架.强调,克制 + 简洁 + 开放的原则:力求,更小.更快.更自由的体验.支持:RPC.REST API.MVC.Job.Micro service.WebS ...

  2. 对标 Spring Boot & Cloud ,轻量框架 Solon 1.4.12 发布

    Solon 是一个轻量的Java基础开发框架.强调,克制 + 简洁 + 开放的原则:力求,更小.更快.更自由的体验.支持:RPC.REST API.MVC.Job.Micro service.WebS ...

  3. 对标 Spring Boot & Cloud ,轻量框架 Solon 1.4.14 发布

    Solon 是一个轻量的Java基础开发框架.强调,克制 + 简洁 + 开放的原则:力求,更小.更快.更自由的体验.支持:RPC.REST API.MVC.Job.Micro service.WebS ...

  4. 对标 Spring Boot & Cloud ,轻量框架 Solon 1.5.2 重要发布

    Solon 是一个轻量的Java基础开发框架.强调,克制 + 简洁 + 开放的原则:力求,更小.更快.更自由的体验.支持:RPC.REST API.MVC.Job.Micro service.WebS ...

  5. 对标 Spring Boot & Cloud ,轻量框架 Solon 1.5.8 发布

    Solon 是一个轻量的Java基础开发框架.强调,克制 + 简洁 + 开放的原则:力求,更小.更快.更自由的体验.支持:RPC.REST API.MVC.Job.Micro service.WebS ...

  6. java 偏向锁,轻量锁,重量级锁

    synchronized的执行过程: 1. 检测Mark Word里面是不是当前线程的ID,如果是,表示当前线程处于偏向锁 2. 如果不是,则使用CAS将当前线程的ID替换Mard Word,如果成功 ...

  7. 通俗易懂 悲观锁、乐观锁、可重入锁、自旋锁、偏向锁、轻量/重量级锁、读写锁、各种锁及其Java实现!

    网上关于Java中锁的话题可以说资料相当丰富,但相关内容总感觉是一大串术语的罗列,让人云里雾里,读完就忘.本文希望能为Java新人做一篇通俗易懂的整合,旨在消除对各种各样锁的术语的恐惧感,对每种锁的底 ...

  8. Java synchronized实现原理总结和偏量锁、轻量锁、重量锁、自旋锁

    synchronized实现同步的基础:Java中的每一个对象都可以作为锁.具体表现为以下3种形式. 对于普通同步方法,锁是当前实例对象(this). 对于静态同步方法,锁是当前类的Class对象. ...

  9. 写文章 通俗易懂 悲观锁、乐观锁、可重入锁、自旋锁、偏向锁、轻量/重量级锁、读写锁、各种锁及其Java实现!

    网上关于Java中锁的话题可以说资料相当丰富,但相关内容总感觉是一大串术语的罗列,让人云里雾里,读完就忘.本文希望能为Java新人做一篇通俗易懂的整合,旨在消除对各种各样锁的术语的恐惧感,对每种锁的底 ...

  10. 基于netty轻量的高性能分布式RPC服务框架forest<下篇>

    基于netty轻量的高性能分布式RPC服务框架forest<上篇> 文章已经简单介绍了forest的快速入门,本文旨在介绍forest用户指南. 基本介绍 Forest是一套基于java开 ...

随机推荐

  1. Jetbrains家的软件都可用的激活码-pycharm

    网址:http://vrg123.com/ 步骤: 1,关注下方的公众号 2,点击菜单中的"激活密钥" 3,点击进入,获得网站密钥 4,在网站上输入网站密钥,点击获取,即可获取激活 ...

  2. rpm,docker,k8s三种方式安装部署GitLab服务

    rpm方式 源地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ wget https://mirrors.tuna.tsinghua ...

  3. 知识图谱实体对齐1:基于平移(translation)的方法

    1 导引 在知识图谱领域,最重要的任务之一就是实体对齐 [1](entity alignment, EA).实体对齐旨在从不同的知识图谱中识别出表示同一个现实对象的实体.如下图所示,知识图谱\(\ma ...

  4. 实时营销引擎在vivo营销自动化中的实践 | 引擎篇04

    作者:vivo 互联网服务器团队 本文是<vivo营销自动化技术解密>的第5篇文章,重点分析介绍在营销自动化业务中实时营销场景的背景价值.实时营销引擎架构以及项目开发过程中如何利用动态队列 ...

  5. AI带你省钱旅游!精准预测民宿房源价格!

    作者:韩信子@ShowMeAI 数据分析实战系列:https://www.showmeai.tech/tutorials/40 机器学习实战系列:https://www.showmeai.tech/t ...

  6. 五、Python操作redis

    五.Python操作redis 一.python对redis基本操作 (1)连接redis # 方式1 import redis r = redis.Redis(host='127.0.0.1', p ...

  7. 08 | 白话容器基础(四):重新认识Docker容器

    你好,我是张磊.今天我和你分享的主题是:白话容器基础之重新认识Docker容器. 在前面的三次分享中,我分别从Linux Namespace的隔离能力.Linux Cgroups的限制能力,以及基于r ...

  8. Go语言核心36讲08

    在上一篇文章,我们一直都在围绕着可重名变量,也就是不同代码块中的重名变量,进行了讨论. 还记得吗?最后我强调,如果可重名变量的类型不同,那么就需要引起我们的特别关注了,它们之间可能会存在"屏 ...

  9. uniapp 微信小程序 配置分享朋友和朋友圈

    uniapp 微信小程序 配置分享朋友和朋友圈 首先在小程序中配置微信分享,和微信朋友圈, onShareAppMessage, onShareTimeline 这两个API 和 onLoad 同级目 ...

  10. c3 linearization详解

    MRO MRO 全称方法解析顺序(Method Resolution Order),在多重继承和多继承存在的时候,寻找属性及方法的顺序. 深度优先(DFS)与广度优先(BFS) python2 所用的 ...