Java 轻量级应用开发框架。可用来快速开发 Java 应用项目。主框架仅 0.1 MB。Helloworld:
@Controller
public class App {
public static void main(String[] args) {
Solon.start(App.class, args);
}
@Get
@WebSocket
@Mapping("/hello")
public String hello(@Param(defaultValue = "world") 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
本次更新:
- 新增 easypoi-solon-plugin 插件
- 新增 easypoi-web-solon 插件
- 新增 easypoi-wps-solon 插件
- 添加 solon-test 对 junit5 支持(使用时注意 junit5 与 juint4 注解的区别)
- 添加 view 相关插件可单独实例化使用的支持
- 修复 mybatis-plugin 配置 mappers 为 xml 时,不能通过 @Inject 注入 mapper 的问题
- 修复 GenericUtil 不能获取多重继承的泛型类型
- 优化 Action、Gateway、RouterHandler 内部异常处理逻辑;不再强调用 event 控制输出
- 优化 Server 最终输出逻辑:(ctx.getHandled() || ctx.status() >= 200)
- 优化 clz.newInstance() [jdk9 已弃用] 统一改为 Utils.newInstance(clz)
- 升级 smartsocket 为 1.5.22
- 升级 smarthttp 为 1.1.16
- 升级 redisx 为 1.4.4
- 升级 beetl 为 3.12.0
- 升级 snack3 为 3.2.41
- 升级 weed3 为 3.4.30