Solon 是一个高效的 Java 应用开发框架:更快、更小、更简单。也是一个有自己接口标准规范的开放生态。

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

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

《bilibili - solon 入门探索》

本次更新:

  • 增加 @Path 替代 @PathVar(简短些),不过这个注解本身意义不大
  • 增加 ResourceUtil::findResource 接口(ssl.keyStore 改用此接口)
  • 增加 "application.xxx" 配置的弃用警告日志
  • 增加 "solon.config" 多文件与内外文件支持
  • 增加 "solon.config.add"(添加外部) 配置,用于替代 "solon.config"
  • 增加 "solon.config.load"(加载内部) 配置,支持数组配置
  • 增加 Props::getMap 接口,替代 Props::getXmap
  • 调整 file-s3-solon-cloud-plugin 插件, "file.default"改为动态获取,增加bucket接口
  • 调整 maven 版本管理,由 ${xxx.ver} 改为 $
  • 优化 请求参数 required 的提示
  • 优化 Props::getProp 减少 forEach 次数
  • 修复 solon.scheduling.simple 插件,在启动卡时后不能运行 cron=* * * * * ?
  • 修复 AopContext::ProxyComponent 不能被 copyto 的问题
  • sqltoy 升为 5.2.41
  • wood 升为 1.0.9
  • snack3 升为 3.2.62
  • hutool 升为 5.8.16
  • liteflow 升为 2.10.1

项目仓库:

Solon v2.2.7 发布,支持 Java 8 到 Java 20的更多相关文章

  1. xmake v2.5.2 发布, 支持自动拉取交叉工具链和依赖包集成

    xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能 ...

  2. Java RPC 框架 Solon 1.3.7 发布,增强Cloud接口能力范围

    Solon 是一个微型的Java RPC开发框架.项目从2018年启动以来,参考过大量前人作品:历时两年,4000多次的commit:内核保持0.1m的身材,超高的跑分,良好的使用体验.支持:RPC. ...

  3. RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本发布

    (新年巨献) RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本发布 历时数月,RDIFramework.NET V2.8版本发布了,感谢大家的支持. RDIFram ...

  4. RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.7 版本发布

    历时数月,RDIFramework.NET V2.7 版本发布了,感谢大家的支持. RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,为企业或个人在.NET环境下快速开发系 ...

  5. cocos2d-x v2.2 IOS工程支持64-bit 遇坑记录

    修改缘由 由于 iPhone 5S的A7 CPU   iPhone 6(A8 CPU)都已经支持64-bit ARM 架构,据说64位处理器跑64代码会提高处理能力?因此二月一新提交appstore应 ...

  6. go-wingui 2018 全新 v2.0 版本发布,包含重大更新!

    go-wingui 2018 全新 v2.0 版本发布,包含重大更新!使用新版CEF内核Chromium 63.0.3239.109,页面可以使用最新的css3,html5技术.使用delphi7重写 ...

  7. XXL-JOB v2.3.0 发布 | 易用性增强

    转: XXL-JOB v2.3.0 发布 | 易用性增强 v2.3.0 Release Notes 1.[新增]调度过期策略:调度中心错过调度时间的补偿处理策略,包括:忽略.立即补偿触发一次等: 2. ...

  8. Spring Boot 轻量替代框架 Solon 1.3.15 发布

    Solon 是一个微型的Java开发框架.项目从2018年启动以来,参考过大量前人作品:历时两年,4000多次的commit:内核保持0.1m的身材,超高的跑分,良好的使用体验.支持:RPC.REST ...

  9. Spring Boot 轻量替代框架 Solon 1.3.18 发布

    Solon 是一个微型的Java开发框架.项目从2018年启动以来,参考过大量前人作品:历时两年,4000多次的commit:内核保持0.1m的身材,超高的跑分,良好的使用体验.支持:RPC.REST ...

  10. Spring Boot & Cloud 轻量替代框架 Solon 1.3.37 发布

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

随机推荐

  1. 第一个知识点:import 和 export

    //全部导入import people from './example' //有一种特殊情况,即允许你将整个模块当作单一对象进行导入//该模块的所有导出都会作为对象的属性存在import * as e ...

  2. Leetcode61

    !!Given the head of a linked list, rotate the list to the right by k places.!!   # Definition for si ...

  3. Educational Codeforces Round 3 个人总结A-D

    Educational Codeforces Round 3 A. USB Flash Drives 降序排序后,贪心,甚至不会爆longlong void solve() { int n,m; ci ...

  4. Verilog中的时间尺度与延迟

    在Verilog的建模中,时间尺度和延迟是非常重要的概念,设置好时间尺度和延迟,可以充分模拟逻辑电路发生的各种情况和事件发生的时间点,来评估数字IC设计的各种要求,达到充分评估和仿真的作用.注意延迟语 ...

  5. Linux中/etc目录下passwd和shadow文件

    /etc/passwd介绍 首先,通过cat /etc/passwd 来查看文件/etc/passwd中内容: root:x:0:0:root:/root:/bin/bash daemon:x:1:1 ...

  6. api进阶Day3使用文件流对文件进行复制、使用块读写一组字节,使用byte数组提高读写的效率、返回当前时间。

    使用文件流对文件进行复制: package io; import java.io.FileInputStream; import java.io.FileNotFoundException; impo ...

  7. Flask-Migrate数据库模型映射

    1.Flask-Migrate介绍 flask-migrate可以十分方便的进行数据库的迁移与映射,将我们修改过的ORM模型映射到数据库中.flask-migrate是基于Alembic进行的一个封装 ...

  8. Ansys-CHEMKIN-pro表面反应机制输入(Surface Kinetics Input)规则

    chemkin表面反应机制文件(Ansys-CHEMKIN-pro表面反应机制输入) 1. 文件包含表面活性位(相).表面组分,固相组分.固相,热力学数据,反应机制: 2. 顺序:物质名称,活性位数据 ...

  9. MyBatis-Plus插入值后返回主键

    LZ做练手设计的时候有这样一个订单需求,先插入订单表数据(t_order),再写入订单详情表(t_orderDetail),详情表需要有一个与t_order的外键约束 t_order ( oid    ...

  10. C语言基础题 22年5月

    (十六进制 %x  20.0f是%f  long 是%ld  unsigned int %#o  ) 编程题: 整数浮点数的上溢下溢 strcpy函数代码 int search(char *s, ch ...