Solon 是一个高效的 Java 应用开发框架:更快、更小、更简单。它不是 Spring、没有用 Servlet、也无关 JavaEE,是一个有自己接口标准的开放生态。可以为应用软件国产化提供支持,助力信创建设。

150来个生态插件,覆盖各种不同的应用开发场景:

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

  • 启动快 5 ~ 10 倍。 (更快)
  • qps 高 2~ 3 倍。 (更高)
  • 运行时内存节省 1/3 ~ 1/2。 (更少)
  • 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
  • 同时支持 jdk8, jdk11, jdk17, jdk19。

似曾相似的体验,入门更简单,迁移很方便:

@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 入门探索》

本次更新:

  • 新增 bean-searcher-solon-plugin 插件
  • 优化 rocketmq5-solon-cloud-plugin 插件
  • 移除 forest-solon-plugin 源码,改引用 com.dtflys.forest:forest-solon-plugin
  • 移除 liteflow-solon-plugin 源码,改引用 com.yomahub:liteflow-solon-plugin
  • 增加 调试模式下,模板仅在文件模式下才加载源码提供器
  • 增加 用属性配置控制 solon.logging.log4j2::File 添加器是否启用!
  • 增加 用属性配置控制 solon.logging.logback::File 添加器是否启用!
  • 增加 "solon.logging.config" 配置支持,可将日志的配置文件移到外部
  • 增加 CloudProps 关于 username/password 与 ak/sk 配置互通的支持!
  • 增加 CloudProps 关于 username/password 上下级传导的支持!
  • 增加 Solon::stopBlock 接口
  • 调整 Solon::stop 时把 app,appMain置为null
  • 调整 solon.web.static 的目录优先级(支持两个,但只让一个生效)
  • 调整 让注解产生的生命周期,排序晚1个点
  • 调整 让默认的 beanOnloaded 生命周期,排序为-1
  • activerecord 升级为 5.0.4
  • bean-searcher 升级为 4.1.2
  • snack3 升级为 3.2.59
  • hutool 升级为 5.8.14
  • dubbo3 升级为 3.1.7
  • forest 升级为 1.5.30
  • rocketmq5-client 升级为 5.0.4
  • smarthttp 升级为 1.1.22
  • smartsocket 升级为 1.5.25
  • ons-client 升级为 1.8.8.8.Final

项目仓库: