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